对于在JUnit测试中放置方法类型的顺序,是否有任何文档约定?我通常有以下顺序:@Before
,@Test
,@After
;我还看到了:@Test
,@Before
,@After
。
示例方法:
public class SandBoxTest {
SandBox sand;
@BeforeClass
public void classSetup() { }
@Before
public void given() { }
@Test
public void shouldTestThis() { }
// support method
private boolean doStuff() {
return true;
}
@Test
public void shouldTestThat() { }
@After
public void cleanUp() { }
@AfterClass
public void classCleanUp() { }
}
如果有“标准”惯例,请提供参考。
答案 0 :(得分:1)
我认为没有这样的编码约定,但不要忘记@Rule注释。
答案 1 :(得分:0)
我和一位同事讨论过这个问题。我在争论订单@BeforeClass
,@Before
,@After
,@AfterClass
,然后是所有@Test
,而他希望订单为{{1} },@BeforeClass
,所有@Before
,然后是@Test
,@After
。
我将setUp和tearDown方法放在首位的论点是:
他在setUp和tearDown方法之间进行测试的论点是它是逻辑顺序,它也反映了方法的排序顺序。
我们在互联网上搜索了一个会议,但最终没有找到,我们同意不同意并决定在项目中接受这两个订单。
这可能不是问题的直接答案,但我认为我会与面临同样决定的其他人分享我们的讨论。