在junit中如何避免注释之前和之后

时间:2017-03-16 04:56:08

标签: java junit

我创建了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()
{}

1 个答案:

答案 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类中有一个前后方法的空实现,那么它将仅打印运行测试