#android #unit-testing #android-intent #mockito #android-espresso
Вопрос:
Я пытаюсь найти способ проверить сценарий сбоя startActivity
с неявным намерением.
Поэтому у меня есть такое намерение:
val intent = Intent(Intent.ACTION_VIEW, uri)
И я хочу протестировать сценарий, куда startActivity(intent)
будут кидать ActivityNotFoundException
.
Я использовал Intents.intending()
для подавления сценария успеха, но у этого нет способа проверить такой сценарий. Другой вариант, который я пробовал, был с фиктивной активностью и созданием шпиона за ней, но у этого есть большой недостаток, что мне нужно добавить эту активность в свой манифест (чего я хочу избежать).
Есть какие-нибудь идеи о том, как это можно протестировать, не затрагивая производственный код?
Комментарии:
1. Если у вас есть тип сборки отладки, вы можете добавить это действие только в файл манифеста отладки и тем самым не повлиять на «производственный» код.
2. Спасибо за предложение @gosr, но это не сработает для меня, так как некоторые тесты также будут выполняться в производственном коде, и мне нужно, чтобы действие было доступно и для тестирования в производственном коде.