Проблема была в моем местном IIS. У него было приложение, работающее на порту 8200.
Кто-нибудь знает, как проверить появление сообщения Toast в действии ?
Вы можете извини. Под этим я подразумеваю, что у Android нет способа спросить: «Привет, есть тост? И как он выглядит?».
Для тех, которые теперь используют Тестовый API AndroidX в 2019 и использование пользовательского макета для тостов, попробуйте этот (Kotlin):
@RunWith(AndroidJUnit4:class)
class ActivityUnitTest {
private lateinit var scenario: ActivityScenario<MainActivity>
@Before fun setUp() {
scenario = ActivityScenario.launch(MainActivity::class.java)
}
@Test fun shouldDisplayToastErrorMessageIfSearchFieldIsEmpty() {
scenario.onActivity { activity ->
activity.id_of_button.performClick()
assertThat(
ShadowToast.getLatestToast().view.id_of_textview.text.toString(),
equalTo("Text to be tested")
)
}
}
}
Хм, на самом деле есть возможность проверить внешний вид тоста. Просто создайте подкласс Toast (например, MyOwnToast) и используйте его в своей программе вместо Toast. В этом подклассе вы можете перезаписать метод show (), чтобы уведомлять вас о том, что отображается тост.
Кроме того, вы можете сохранить Toast в методе show () в виде синглтона ToastDatabase, откуда вы можете получить доступ к Toast и его просмотру также после того, как он был показан и уничтожен (не тестировал это с Toasts, но я часто делают это с намерениями результата действий, чтобы сохранить их доступными для дальнейших тестов после того, как они были уничтожены - поэтому не должно быть проблем реализовать это с помощью Toasts).
Осторожно: возможно, вам придется клонировать объект Toast или его соответствующее представление для ToastDatabase, потому что, вероятно, он будет нулевым после того, как Toast будет уничтожен. Надеюсь это поможет!