Android Espresso – 如何查看视图在活动结束前匹配?

我正在编写使用Kotlin和Espresso进行UI测试的Android应用程序。 给定与按钮的活动。 通过点击那个按钮应该出现Toast消息与文本“你好#_#世界”和活动应该完成。

示例代码:

fun onButtonClick() { Toast.makeText(this, "Hello#_#World", Toast.LENGTH_SHORT).show() finish() } 

在UI测试中,我需要检查Toast消息的文本。 但是Activity在检查之前完成了,所以我从Espresso中捕获了NoActivityResumedException。

这是我的测试方法:

 @Test fun should_display_message_on_success() { onView(withId(R.id.test_button)).perform(click()) onView(withText("Hello#_#World")) .inRoot(withDecorView(not(rule.activity.window.decorView))) .check(matches(isDisplayed())) } 

在活动完成之前如何调用#.check()方法?