繁体   English   中英

Android Espresso - 如何为所有测试仅运行一次安装程序

[英]Android Espresso - how to run setup only once for all tests

我正在使用Espresso / Kotlin为我们的Android应用程序运行测试,我想为给定测试类中的所有测试运行一次设置。

我创建了一个伴随对象来启动应用程序一次(它确实如此),然后它会关闭,并且在每次测试运行时都不会保持打开状态。

在此输入图像描述

如何让它启动应用程序,在测试类中运行所有测试,然后关闭应用程序?

我也尝试了以下,但它仍然启动一次然后关闭,然后尝试运行测试: 在此输入图像描述

这是设计的。

此规则提供单个活动的功能测试。 在使用@Test注释的每个测试之前以及使用@Before注释的任何方法之前,将启动测试中的活动。 它将在测试完成后终止,并且所有使用@After注释的方法都已完成。 通过调用ActivityTestRule.getActivity(),可以在测试期间访问测试中的活动。

资料来源: JUnit4规则

您可以通过制定自定义规则来绕过它。 否则,您可以创建一个@Test并将每个断言放入其中。 要保留一般格式,可以将断言放在单独的私有函数中。

例如:

@Test
fun testLoginPage() {
    testLoginButtonIsDisplayed()
    // call other private functions
}

private fun testLoginButtonIsDisplayed() {
    loginPage.loginButton.check(matches(isDisplayed()))
}

//  add other private functions

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM