#java #android #android-testing #android-instrumentation
#java #Android #android-тестирование #android-инструментарий
Вопрос:
У меня есть действие с a Button
в нем. Нажав на кнопку, я звоню finish()
. Проблема в том, что когда я пишу инструментальный тест, чтобы проверить, уничтожена ли активность, я получаю
junit.framework.AssertionFailedError: ожидалось: <УНИЧТОЖЕНО>, но было:<ВОЗОБНОВЛЕНО>
Мои вопросы
- Почему состояние сохраняется
RESUMED
даже послеfinish()
вызова? - Разве это не правильный метод для проверки состояния активности?
Вот моя активность
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById<Button>(R.id.b_kill_me).setOnClickListener {
finish()
}
}
}
Вот мой тест
MainActivityTest.kt
class MainActivityTest {
@Test
fun killMe() {
val mainActivity = ActivityScenario.launch(MainActivity::class.java)
onView(withId(R.id.b_kill_me)).perform(click())
assertEquals(Lifecycle.State.DESTROYED, mainActivity.state)
}
}
Вот полный исходный код: ссылка на Google Диск