如何在TestNG中禁用整个单元测试?

yeg*_*256 56 java junit testng unit-testing

这是我在JUnit中可以做的:

import org.junit.*;
@Ignore
public class FooTest {
  //
}
Run Code Online (Sandbox Code Playgroud)

整个班级都会被忽略.我怎么能在TestNG中做同样的事情?

raz*_*ebe 83

我相信你想要的是:

@Test(enabled=false)
public class FooTest {
  //
}
Run Code Online (Sandbox Code Playgroud)

(您可以将@Test注释应用于类,也可以单独应用于方法.)

TestNG的文档具有支持注释的完整列表,并描述测试排除/纳入按组如果这是任何利益.以下是相关部分的引用:

@Test标记一个类或一个方法作为测试的一部分.

......(中略)...

enabled:是否启用此类/方法的方法.

编辑:@Test(enabled=false)根据针对TestNG提出的这个缺陷,通过应用忽略一个类显然是某些版本的TestNG中的错误功能.

  • 这是正确答案:它会将该类的所有公共方法标记为已禁用.请注意,在方法上放置@Test将重新启用该方法,并且仅重新启用该方法.如果你看到不同的东西,请告诉我. (7认同)
  • 已确认:根据跟踪它的[OpenSymphony bug 页面的 Google 缓存](http://jira.opensymphony.com/browse/TESTNG-434),它*是*一个 bug。 (2认同)