m3t*_*man 12 java junit unit-testing
是否可以@Test在具有注释方法的类中运行JUnit 方法@Before,但是@Before仅忽略此方法的方法?
编辑:我感兴趣的是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() {
//[...]
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用TestRule执行此操作.请参阅我在JUnit中从'before'方法中排除单个测试的答案.基本上,实现ExternalResource,并在apply方法中,检查方法上是否有特定的注释,如果有,则不要运行before/after方法.你必须专门调用你的规则之前/之后.
| 归档时间: |
|
| 查看次数: |
17632 次 |
| 最近记录: |