3
我已经为我的应用程序提供了Robolectric测试套件。按顺序运行robolectric测试?
据我所知,按默认Robolectric按字母顺序运行测试。
我有测试
testA()
testB()
此测试需要以相反的顺序,例如运行testB()将测试的活动状态更改为testA()所需的任何状态。
如何指定必须运行测试的顺序?
手动重命名测试并不好。
我已经为我的应用程序提供了Robolectric测试套件。按顺序运行robolectric测试?
据我所知,按默认Robolectric按字母顺序运行测试。
我有测试
testA()
testB()
此测试需要以相反的顺序,例如运行testB()将测试的活动状态更改为testA()所需的任何状态。
如何指定必须运行测试的顺序?
手动重命名测试并不好。
不建议使用固定测试订单,但您可以尝试在您的测试课程中使用@FixMethodOrder(MethodSorters.NAME_ASCENDING)
。
也看到这里的讨论How to run test methods in specific order in JUnit4?
相互依赖的测试是极其脆弱的。你应该考虑重构你的测试以完全避免这种情况。 – stkent 2015-02-07 13:39:04
嗯。感谢你的回答。我应该为每个测试单独准备我的对象/活动状态? – 2015-02-07 13:39:39
是的,绝对。这样,添加新测试(或删除过时的测试)将导致级联失败的可能性要小得多。 JUnit允许您指定每个测试类(使用“@Before”和“@After”进行注释)的安装和拆卸方法,这些方法在每个单独测试之前/之后运行(使用“@Test”注释)。例如,常见模式是使用“@Before”注释方法重新初始化待测试类的实例。 – stkent 2015-02-07 13:44:12