当我在JUnit 3.x中创建参数化测试用例时,我通常会创建一个类似的测试用例
public static Test suite() {
TestSuite s = new TestSuite();
for (int i = MIN; i < MAX; ++i) {
s.addTest(new MyTest(i));
}
}
从桌面命令行运行JUnit时,可以正确调用此suite()方法.当我用我的Android测试项目尝试这个时,测试不会运行.如何让我的测试在模拟器上运行?或者是否有不同的方法为Android创建参数化测试?
更多想法:
通常我使用命令行运行我的测试:
adb shell am instrument -w [-e class [#()]] /android.test.InstrumentationTestRunner
这允许我从我的测试套件中选择要运行的测试.理想情况下,我也希望以这种方式运行参数化测试.来自@Appu的评论中的链接描述了构建一个运行JUnit测试的独立应用程序.作为其中一部分,此应用程序具有自定义TestRunner.我很可能借用这些想法创建一个TestRunner,我可以使用它代替android.test.InstrumentationTestRunner.对于一项并非罕见的任务来说,这似乎是很多工作.如果Android API中已有类似的解决方案,我宁愿不重新发明轮子.有谁知道这样的事情?此外,其他替代解决方案将有所帮助.
没关系,看起来@dtmilano已经发布了这个答案……