我有许多测试的基类,它们都有一些帮助方法.
它本身并没有对它进行任何测试,但JUnit(在eclipse中)正在调用它上面的测试运行器并抱怨没有方法可以测试.
怎么能让它忽略这个课?
我知道我可以添加一个dummyTest可以解决问题的方法,但它也会出现在所有子类中.
建议?
gue*_*rda 90
用于@Ignore注释.它也适用于课程.看到这个:
@Ignore public class IgnoreMe {
@Test public void test1() { ... }
@Test public void test2() { ... }
}
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用@Ignore注释包含测试方法的类,并且不会执行任何包含的测试.
mat*_*rns 29
就像一张纸条,我总是建议给出一个忽略的理由:
@Ignore("This test will prove bug #123 is fixed, once someone fixes it")
Run Code Online (Sandbox Code Playgroud)
我希望在运行ant测试时使用的junit xml报告格式化程序有一天会包含忽略的计数(以及原因)以及通过,失败和错误.
Aar*_*lla 20
使类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用于不同的用例,当您想忽略特定的测试时。
@Ignore在未来版本中不会退出,如果您使用的是 JUnit5,则可以@Disabled从 JUnit Jupiter 使用
import org.junit.jupiter.api.Disabled;
Run Code Online (Sandbox Code Playgroud)
您甚至可以使用@Disabled评论@Disabled("some comment here")
注释类,将禁用类中的所有测试:
@Disabled
public class DemoTest { }
Run Code Online (Sandbox Code Playgroud)
@Disabled("some comment here")
public class DemoTest { }
Run Code Online (Sandbox Code Playgroud)
@Disabled
public void whenCaseThenResult() { }
Run Code Online (Sandbox Code Playgroud)
@Disabled("some comment here")
public void whenCaseThenResult() { }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36880 次 |
| 最近记录: |