如何让JUnit4忽略一个基本测试类?
我有一个用于许多测试的基类,其中包含一些他们都需要的帮助器方法 它本身没有任何测试,但是JUnit(在eclipse中)正在调用它的测试运行程序,并抱怨没有测试方法 我怎样才能让它忽略这个类 我知道我可以添加一个如何让JUnit4忽略一个基本测试类?,junit,junit4,Junit,Junit4,我有一个用于许多测试的基类,其中包含一些他们都需要的帮助器方法 它本身没有任何测试,但是JUnit(在eclipse中)正在调用它的测试运行程序,并抱怨没有测试方法 我怎样才能让它忽略这个类 我知道我可以添加一个dummyTest方法来解决这个问题,但是它也会出现在所有的子类中 建议?用于忽略注释。它也适用于课堂。 看看这个: @Ignore public class IgnoreMe { @Test public void test1() { .
dummyTest
方法来解决这个问题,但是它也会出现在所有的子类中
建议?用于忽略注释。它也适用于课堂。 看看这个:
@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")
我希望在从ant运行测试时使用的junit xml报告格式化程序有一天会包括忽略的计数(以及原因)以及通过、失败和错误。对junit 4来说,将类抽象化就足够了。如果不起作用,请仔细检查您使用的JUnit版本 这也传达了您的意图,即这只是测试的一个片段 它还防止JUnit将类中的测试计数为“忽略”(因此忽略测试的最终计数将是您所期望的)
或者,重命名该类。大多数运行程序使用类名来确定哪些类是测试类,哪些是帮助类。在具有默认设置的Maven中,您只需确保基类不以
Test
开头或结尾,也不以TestCase
()结尾。有三个选项:
@Igonre
属性,它将显示为忽略的测试(并将其添加到测试总数中)@Ignore
注释。此注释也适用于类。
@Ignore
测试注释用于忽略特定测试或测试组,以跳过生成失败
@Ignore("Base class not yet ready")
class MyBaseClassTestCases {...}
@Ignore
在未来版本中不退出,如果您使用的是JUnit5,则可以使用来自JUnit Jupiter的
import org.junit.jupiter.api.Disabled;
您甚至可以将@Disabled
与注释@Disabled(“此处的一些注释”)
等级
注释该类,将禁用该类中的所有测试:
@Disabled
public class DemoTest { }
方法
它现在和现在都在运行,请看类似的问题:我刚刚知道,如果我们编写一个测试用例,那么在测试用例及其mandotory中应该至少有1@Test方法。另一方面,它会给我们初始化错误。这是真的吗?我同意这应该有效,所以+1。除了netbeans 6.2和jUnit 4.5之外,@ignore被列为仅对方法有效。查找它,Libary被称为4.5,但jar是junit4-1.jar。我接受了你的回答。谢谢。你能给我指出一个有效的引用,它说@Ignore只对JUnit4.5中的方法有效吗?我似乎找不到它……如果我想忽略除一个方法之外的所有方法的测试(而不是将@ignore放在每个方法之上)?@ignore和abstract的组合是excellet!您不需要忽略
@Ignore
。抽象就足够了(在我看来是最好的)对于JUnit4,Abstract
应该就足够了。几年过去了,但是bug#123
还没有修复……)最相关的答案是IMO.Abstract绝对是一种基本测试类的方式你也做得很好。和往常一样!
@Disabled("some comment here")
public class DemoTest { }
@Disabled
public void whenCaseThenResult() { }
@Disabled("some comment here")
public void whenCaseThenResult() { }