在一种测试方法的方法之后是否有跳过JUNIT注释?

时间:2012-12-11 06:59:19

标签: java junit annotations

我在用@Test注释的测试类中有5个测试方法。 我也有@Before@After方法。是否有办法仅使用@After跳过该方法用于第一个Test方法并在其余时间运行它?

2 个答案:

答案 0 :(得分:2)

  1. 如果您希望它有点通用,请在@Before中将变量“afterToBeLaunched”设置为false。在需要@After的每个测试中,将其设置为true。当然在@After开始时检查它,如果它是假的,return方法。
  2. 如果您在4.7版本之后使用JUnit,请使用@Rules。 (Apply '@Rule' after each '@Test' and before each '@After' in JUnit)您可以使用Rule代替@After并使用TestName,您可以在那里阅读测试的名称,并根据当前结束的测试完成操作。

答案 1 :(得分:0)

这个问题刚才被问过,但是对于JUnit(JUnit Jupiter)的第5版,我们可以使用private DataView _MyView1 = TableAdapter1.GetData().DefaultView; private DataView _MyView2 = TableAdapter1.GetData().DefaultView; @Tag来完成同样的事情。我们的想法是为不需要执行TestInfo的测试添加标记,并使用@AfterEach来确定当前测试是否包含该标记。在代码中,这可能类似于

TestInfo

上面的输出看起来像

  

BeforeEach

     

第一次测试

     

BeforeEach

     

第二次测试

     

AfterEach

     

BeforeEach

     

第三次测试

     

AfterEach