我创建了One Junit类Parent with Before and After Annotation。 由于我没有权限更改父级,因此我也必须扩展该类。我想避免使用我之前和之后的一些Child Class TestCase。
Parent.class在JAR1中
public class Parent {
@Before
public void RunBefore_EveryTestCase()
{}
@After
public void RunAfter_EveryTestCase()
{}
child.class在JAR2中
import Parent;
public class Child extends Parent{
@Test1
/////////////////I DONT Want to Run Before and After inherit From Parent
public void RunBefore_EveryTestCase()
{}
答案 0 :(得分:1)
如果您在Child中扩展Parent类并且您不想在您的孩子中执行@Before和@After的实现,只需覆盖这些方法并使用@Before和@After进行注释并提供空实现并且也不要调用超级方法。这应该可以解决您不执行父实现的问题。
这是父类
public class Parent {
@Before
public void before(){
System.out.println("Parent Before");
}
@After
public void after(){
System.out.println("Parent After");
}
}
这是儿童班
public class Child extends Parent {
@Before
public void before(){
System.out.println("Child Before");
}
@After
public void after(){
System.out.println("Child After");
}
@Test
public void test(){
System.out.println("Running Test");
}
}
输出
Child Before
Running Test
Child After
所以如果在Child类中有一个前后方法的空实现,那么它将仅打印运行测试