我有许多测试的基类,它们都有一些帮助方法.
它本身并没有对它进行任何测试,但JUnit(在eclipse中)正在调用它上面的测试运行器并抱怨没有方法可以测试.
怎么能让它忽略这个课?
我知道我可以添加一个dummyTest
可以解决问题的方法,但它也会出现在所有子类中.
建议?
用于@Ignore
注释.它也适用于课程.看到这个:
@Ignore public class IgnoreMe { @Test public void test1() { ... } @Test public void test2() { ... } }
此外,您可以使用@Ignore注释包含测试方法的类,并且不会执行任何包含的测试.
来源:JUnit JavaDoc
就像一张纸条,我总是建议给出一个忽略的理由:
@Ignore("This test will prove bug #123 is fixed, once someone fixes it")
我希望在运行ant测试时使用的junit xml报告格式化程序有一天会包含忽略的计数(以及原因)以及通过,失败和错误.
使类abstract
成为JUnit 4就足够了.如果它不起作用,请仔细检查您正在使用的JUnit版本.
这也传达了你的意图,这只是一个测试的片段.
它还可以防止JUnit将类中的测试计为"忽略"(因此忽略测试的最终计数将是您所期望的).
或者,重命名该类.大多数运行程序使用类名来确定哪些类是测试,哪些是帮助程序.在具有默认设置的Maven中,您只需确保基类不以开头或结尾Test
而不是以TestCase
(http://maven.apache.org/surefire/maven-surefire-plugin/examples/结尾).included-exclusion.html)
有2个选项:
您应该创建基本测试类abstract,而Junit4就足够了。如果使用@Igonre属性,它将显示为忽略的测试(并将其添加到测试总数中)。
您可以更改测试类的名称,使其在测试名称的开头或结尾不带有单词 Test(区分大小写),或者在单词末尾不带有单词TestCase。
顺便说一句:@Igonre用于不同的用例,当您想忽略特定的测试时。