代码之家  ›  专栏  ›  技术社区  ›  Allain Lalonde

如何让JUnit4忽略一个基本测试类?

  •  48
  • Allain Lalonde  · 技术社区  · 16 年前

    我有一个用于许多测试的基类,其中包含一些他们都需要的帮助器方法。

    我怎样才能让它忽略这个类?

    我知道我可以添加一个 dummyTest 方法来解决问题,但它也会出现在所有的子类中。

    建议?

    4 回复  |  直到 16 年前
        1
  •  98
  •   studgeek    11 年前

    过去常常 @Ignore 看看这个:

    @Ignore public class IgnoreMe {
                            @Test public void test1() { ... }
                            @Test public void test2() { ... }
                    }
    

    此外,还可以对类进行注释 包含带有@Ignore的测试方法 并且没有一个包含测试将

    JUnit JavaDoc

        2
  •  32
  •   guerda    11 年前

    作为说明,我总是建议给出忽略的原因:

    @Ignore("This test will prove bug #123 is fixed, once someone fixes it")
    

    我希望在从ant运行测试时使用的JUnitXML报告格式化程序有一天会包括忽略的计数(以及原因)以及通过、失败和错误。

        3
  •  23
  •   Aaron Digulla    7 年前

    上课 abstract 对于JUnit4来说应该足够了。如果不起作用,请仔细检查您使用的JUnit版本。

    它还防止JUnit将类中的测试计数为“忽略”(因此忽略测试的最终计数将是您所期望的)。

    或者,重命名该类。大多数运行程序使用类名来确定哪些类是测试类,哪些是帮助类。在具有默认设置的Maven中,您只需确保基类不以 Test 而不是以 TestCase ( http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

        4
  •  10
  •   Yuri    4 年前

    有三种选择:

    1. 摘要 . 如果你使用 @Igonre 属性,它将显示为忽略的测试(并将其添加到测试总数中)。

    2. 你可以使用 @Ignore 注释。此注释也适用于类。 这个 @忽略

      @Ignore("Base class not yet ready") 
      class MyBaseClassTestCases {...}
      
    3. 您可以更改该测试类的名称 (区分大小写)在测试名称/或单词的开头或结尾 最后。

        5
  •  6
  •   Youcef LAIDANI    5 年前

    JUnit5

    @Ignore 在将来的版本中不退出,如果您使用的是JUnit5,则可以使用 @Disabled 朱尼特·朱庇特

    import org.junit.jupiter.api.Disabled;
    

    你甚至可以使用 @残废 @Disabled("some comment here")

    @Disabled
    public class DemoTest { }
    

    @Disabled("some comment here")
    public class DemoTest { }
    

    方法

    @Disabled
    public void whenCaseThenResult() { }
    

    @Disabled("some comment here")
    public void whenCaseThenResult() { }