2016-08-18 1 views
0

Тест: ActivityA, нажатие кнопки начинается ActivityB и закрывает ActivityA. Как проверить, что ActivityA был уничтожен? Я создал IdlingResource, чтобы проверить isFinishing() или isDestroyed(), а также отслеживал логическое значение в пользовательском ActivityTestRule, но он никогда не вызывается и не истекает.эспрессо, чтобы дождаться активности onDestroy

Я также пытался проверить, когда ActivityB создается с использованием intended/hasComponent, но если я позвоню сразу после perform(click()), он вернет false.

Все анимации/переходы отключены.

ответ

1

Я бы не использовал эспрессо, чтобы проверить, что называется onDestroy. Вы должны делать тесты более высокого уровня с помощью Espresso, например, тестирование нажатием кнопки запускает другое действие или когда вы вводите плохие данные и нажимаете кнопку, появляется сообщение об ошибке и отображается на экране.

Для тестирования onDestroy я бы рекомендовал сделать это в единичном тесте, и для этого вы можете использовать что-то вроде Robolectric.

+0

Я также попытался проверить, что компонент пользовательского интерфейса «ActivityB» отображается, но он несовместим. Иногда это терпит неудачу. – mbmc

+1

Мне очень жаль это слышать, но опять же, я не буду тестировать 'onDestroy' с эспрессо. – CodyEngel