如何在Junit中具有单独的设置函数
我有两个测试函数,对于每一个,我希望有不同的@Before方法。如何实现这一点?尽管在同一个类下组织所有测试似乎很方便,但对于您的情况,我认为最好的选择是将测试分为不同的类,每个类都有相应的如何在Junit中具有单独的设置函数,junit,junit4,Junit,Junit4,我有两个测试函数,对于每一个,我希望有不同的@Before方法。如何实现这一点?尽管在同一个类下组织所有测试似乎很方便,但对于您的情况,我认为最好的选择是将测试分为不同的类,每个类都有相应的设置 另一种选择(我更喜欢前面的选项)是在测试方法中直接调用设置,如下示例: public class FooTest { public void setUpMethod1() { // do setUp things } public void setUpMethod2()
设置
另一种选择(我更喜欢前面的选项)是在测试方法中直接调用设置
,如下示例:
public class FooTest {
public void setUpMethod1() {
// do setUp things
}
public void setUpMethod2() {
// do setUp things
}
@Test
public void testMethod1() {
setUpMethod1();
// Test
}
@Test
public void testMethod2() {
setUpMethod2();
// Test
}
}
只是出于好奇(我不建议您这样做),您可以用自己的实现覆盖默认的junitRunListener
。方法testStarted
在每次测试之前执行,您可以访问类和方法名来识别正在运行的测试。虚拟样本:
public class MyRunListener extends RunListener {
@Override
public void testStarted(Description description) throws Exception {
//...
Class testClass = description.getClass();
String methodName = description.getMethodName();
//...
}
}
希望有帮助。您确定(a)它们属于同一个文件,以及(b)在测试方法之外进行初始化有真正的原因吗?我只是想知道是否可以这样做