有没有办法在jUnit中为每个@Test定义一个不同的拆解?
答案 0 :(得分:36)
使用@After
注释指示每@Test
后运行的方法。
这样的全套注释是:
@BeforeClass
- 在所有@Tests
运行之前@Before
- 在每个@Test
运行之前@After
- 每次@Test
运行后@AfterClass
- 运行@Tests
之后我刚才意识到我可能没有理解这个问题。如果您询问如何将特定的拆解方法与特定的@Test方法相关联,则无需注释:只需在最终的测试方法结束时调用它:
@Test
public void someTest() {
try {
// test something
} finally {
someParticularTearDown();
}
}
答案 1 :(得分:5)
将测试方法组合在同一个类中的重点是他们可以共享内容,包括具有相同的设置和拆卸。所以,是的,您可以为每个测试定义单独的拆卸,但是您可以通过将@Test方法放在不同的类中来实现。
一旦开始使用单独的拆解方法,您希望将测试组合在同一类中的原因并不明显。因此,您可以灵活地管理如何在类中对测试进行分组来管理这种情况。
答案 2 :(得分:1)
在JUnit中没有简单的方法可以做到这一点。使用TestNG,您可以将您的方法分组,这样您就可以定义特定的@ BeforeMethod / @ AfterMethod,只能在某些组中运行。