AndroidJUnitRunner + ActivityInstrumentationTestCase2超时?

时间:2016-10-14 22:27:56

标签: android-instrumentation android-junit

设置:

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

到目前为止已经尝试过:

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

  

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

     

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

我已尝试将AndroidJUnitRunner配置添加到应用清单和测试清单中,但到目前为止,timeout_msec元数据项目无效。

1 个答案:

答案 0 :(得分:1)

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

@Rule public Timeout timeout = new Timeout(120000, TimeUnit.MILLISECONDS);

您还可以使用以下

指定每个测试基准超时
@Test(timeout = 100) // Exception: test timed out after 100 milliseconds
public void test1() throws Exception {
    Thread.sleep(200);
}

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

https://stackoverflow.com/a/32034936/2128442