题
我有一个基类的许多测试,有一些辅助方法,他们所有需要。
它本身并不具有任何试验,但JUnit(在蚀)被援引的测试运行它,并抱怨说有没有方法进行测试。
我怎么能让它忽视这一类?
我知道我可以添加一个 dummyTest
方法,将解决问题,但也会出现所有儿童的课程。
建议?
解决方案
使用到@Ignore
注释。这也适用于类。
看到此一:
@Ignore public class IgnoreMe {
@Test public void test1() { ... }
@Test public void test2() { ... }
}
另外,还可以标注一个类 含有试验方法与@Ignore 并且没有一个含有试验将 被执行。
其他提示
正如一个音符,我总是建议给的一个原因忽略:
@Ignore("This test will prove bug #123 is fixed, once someone fixes it")
,我从蚂蚁测试时希望JUnit的XML报告格式,使用,总有一天会包括忽略计数(的原因),并附有通过,失败和错误。
制作类abstract
应该够的JUnit 4,如果它不工作,你正在使用的版本的JUnit,仔细检查。
此还传达你的意图,这仅仅是一个测试的片段。
它还可以防止从JUnit的为“忽略”(所以被忽略的测试的最终数量将是你所期望的)在类计数测试。
可替换地,重命名的类。大多数跑步者使用类名来确定哪些类是测试的,哪些是助手。在Maven中使用默认设置,你只需要确保基类没有开始或结束Test
,不与TestCase
结束(的 http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html )
有2个选择:
你应该创建类的基本测试 抽象, 够了化成junit4.如果你使用@Igonre属性,它将表明它作为一个被忽略的试验(并将它添加到总数的检验)。
你可以改变名称的测试类 它不会有这个词 测试(敏感的情况下)在开始或结束试验的姓名/或单词测试用例在最后。
顺便说一句:@Igonre是一个不同的使用情况,当你想要忽略特定的测试。