Android Espresso – 如何在所有测试中只运行一次安装程序

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

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

在这里输入图像描述

我怎样才能启动应用程序,运行测试类中的所有测试,然后关闭应用程序?

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

One Solution collect form web for “Android Espresso – 如何在所有测试中只运行一次安装程序”

这是设计。

此规则提供了单个活动的功能测试。 被测试的活动将在每个用@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 
  • Kotlin:可空的财产代表可观察
  • 在Kotlin中,我可以创建一个向后计数的范围吗?
  • kotlin:注释中数组的一些问题
  • 无法使用Android从测试来源访问内部组件
  • 死者在Kotlin的开关
  • 将带有空字段的对象转换为带有不可空字段的对象或null
  • Android工具栏菜单项永远不会显示,但会进入溢出状态
  • intelliJ在多平台项目中把kotlin.js放在哪里?
  • Kotlin language will be the best programming language for Android.