我想执行由以下注释的测试方法@Test
按特定顺序。
例如:
public class MyTest {
@Test public void test1(){}
@Test public void test2(){}
}
我想确保运行test1()
before test2()
每次我跑步MyTest
,但我找不到像这样的注释@Test(order=xx)
.
我认为这对于 JUnit 来说是非常重要的功能,如果 JUnit 的作者不希望订单功能, why?
我认为这对于 JUnit 来说是非常重要的功能,如果 JUnit 的作者不想要顺序功能,为什么?
我不确定是否有一种干净的方法可以使用 JUnit 来执行此操作,据我所知,JUnit 假设所有测试都可以按任意顺序执行。来自常见问题解答:
如何使用测试夹具?
(...) 测试方法调用的顺序是不保证,因此 testOneItemCollection() 可能会在 testEmptyCollection() 之前执行。 (...)
为什么会这样呢?嗯,我相信进行测试顺序相关这是作者不想提倡的做法。测试应该是独立的,它们不应该耦合并违反这一点will使事情更难维护,会破坏单独运行测试的能力(显然)等等。
话虽如此,如果您确实想朝这个方向发展,请考虑使用 TestNG,因为它本身支持以任意顺序运行测试方法(以及指定方法取决于方法组之类的事情)。 Cedric Beust 解释了如何做到这一点testng 中测试的执行顺序.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)