AndroidJUnitRunner + ActivityInstrumentationTestCase2 超时?

Tur*_*ole 2 android-instrumentation android-junit

设置:

我继承的一个较旧的项目有很多遗留的仪器测试,我想对它们施加超时,因为它们中的很多都可以无限期地挂起,这使得很难获得测试报告。我正在将测试更新为 Junit4 样式,但目前它们都在扩展 ActivityInstrumentationTestCase2。

到目前为止尝试过:

AndroidJUnitRunner的文档中,它说要设置这个标志:

设置将应用于每个测试的超时(以毫秒为单位):-e timeout_msec 5000 ...

...所有参数也可以通过元数据标签在 AndroidManifest 中指定

我已经尝试将 AndroidJUnitRunner 配置添加到应用程序清单和测试清单,但 timeout_msec 元数据项到目前为止没有任何影响。

Ran*_*ndy 7

您可以使用规则为类中的每个测试提供超时,如下所示。

@Rule public Timeout timeout = new Timeout(120000, TimeUnit.MILLISECONDS);
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下命令指定每个测试基础超时

@Test(timeout = 100) // Exception: test timed out after 100 milliseconds
public void test1() throws Exception {
    Thread.sleep(200);
}
Run Code Online (Sandbox Code Playgroud)

您可以使用此链接阅读有关差异的更多信息

/sf/answers/2242445551/

  • 喜欢在回答出现在谷歌搜索前 5 名的问题时获得反对票。填补空白不应该导致反对票,特别是因为这应该是一个有用的社区,而不是愤世嫉俗的社区。 (2认同)