我正在使用Espresso / Kotlin为我们的Android应用程序运行测试,我想为给定测试类中的所有测试运行一次设置。
我创建了一个伴随对象来启动应用程序一次(它确实如此),然后它会关闭,并且在每次测试运行时都不会保持打开状态。
如何让它启动应用程序,在测试类中运行所有测试,然后关闭应用程序?
答案 0 :(得分:1)
这是设计的。
此规则提供单个活动的功能测试。在使用@Test注释的每个测试之前以及使用@Before注释的任何方法之前,将启动测试中的活动。它将在测试完成后终止,并且所有使用@After注释的方法都已完成。通过调用ActivityTestRule.getActivity()。
,可以在测试期间访问测试中的活动
来源:JUnit4 Rules
您可以通过制定自定义规则来解决这个问题。否则,您可以创建一个@Test
并将每个断言放入其中。要保留一般格式,可以将断言放在单独的私有函数中。
例如:
@Test
fun testLoginPage() {
testLoginButtonIsDisplayed()
// call other private functions
}
private fun testLoginButtonIsDisplayed() {
loginPage.loginButton.check(matches(isDisplayed()))
}
// add other private functions