我有以下TestNG单元测试类:
public class SomeTest extends AbstractEntityTest {
...
@DataProvider
public Object[][] getClasses() throws Exception {
return this.getClassesForPackage(pack);
}
@Test(dataProvider = "getClasses")
public void testEntity(final Class<?> entityClass) throws Exception {
//test class...
}
}
在eclipse中运行时,此测试很好地执行,但Maven似乎完全忽略了它。为了确定问题,我已经为此测试类添加了另一个虚拟测试方法,并且该测试方法由Maven执行。似乎surefire插件无法将方法testEntity识别为测试方法,因为注释中的dataProvider或方法中的参数?
Maven版本:3.0.3
Surefire插件版本:2.13
TestNG版本:6.8
更新 我不使用testng.xml文件来定义要运行的测试。根据{{3}}:
,这也不是必需的这是开始所需的唯一步骤 - 您现在可以在测试源目录中创建测试(例如,src / test / java。只要它们使用默认值命名,例如* Test.java,将由Surefire作为TestNG测试运行。