7

我正在尝试为每次测试运行时更改意图ActivityInstrumentationTestCase2的特定情况编写批处理仪器测试(使用) 。Activity我可以通过一个测试来做到这一点,只需循环停止并以新的意图重新启动 Activity,但这不是我想要的。一个原因是它们确实应该是单独的测试运行。另一个原因是,我在测试完成时使用Spoon生成报告,报告会正确地认为我只运行了一个测试。

我想要的是将单个测试视为可能无限数量的测试,并在每次测试运行时将数据传递给测试。

不幸的是,您不能使用Theories,因为它会导致 InstrumentationTestRunner 无法找到我的测试的 RuntimeException。有人对此有任何运气吗?

4

2 回答 2

0

我最近发现你可以在public static Test suite()一个测试类中添加一个方法,当你只运行这个单一的测试类时,InstrumentationTestRunner就会运行Test这个方法返回的。这很有帮助,因为suite()可以显式调用您的任何构造函数TestCase,包括带有参数的构造函数。

于 2013-06-01T17:27:23.350 回答
0

您总是可以创建一个“测试”意图。为了模拟应用程序的重新启动,请创建一个或多个方法来重置测试之间的所有静态变量。然后,您可以使用应用程序本身内部的测试意图测试这些类

assert("value", MyClass.myMethod);
resetStatics();
assert(true, MyClass,myMethod);
resetStatics();

我不知道这对你有多大帮助,如果有的话,但这是我开始编写自己的测试的方式。

于 2013-05-20T17:48:51.253 回答