后是否有可能运行已方法标注了@Before
类JUnit的@Test
方法,但是忽略只对该测试的@Before
方法?运行JUnit @Test忽略@前/ @
编辑:如果JUnit支持此功能,而不是解决方法,我很感兴趣。我知道解决方法如将测试移到另一个类中或删除注释,并在每种测试方法中手动调用setUp()
。
假设在一个类中有30个测试,并且其中29个@Before
真的简化了测试初始化,但是对于其中一个(或多个)它是无用的/它使事情变得复杂。
public class MyTestClass {
@Before
public void setUp() {
//setup logic
}
@Test
public void test1() {
//[...]
}
@Test
public void test2() {
//[...]
}
//more tests here
@Test(ignoreBefore = true, ignoreAfter = true //false by default)
//something equivalent to this
public void test20() {
//[...]
}
}
您可以在'@ Before'和'@ After'注释中将'test20'移动到单独的类中吗? – user1516873
@ user1516873从技术上讲,是的,但我想在一个测试类中保留一个类的所有测试。当这个类被设计/开发时,测试不被认为是重构,也不是解决方案。此外,单元测试的定义表明它们是独立的,可以分开运行。 – m3th0dman