1

我有以下 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 执行。似乎由于注解中的 dataProvider 或方法中的参数,surefire 插件无法将方法 testEntity 识别为测试方法?

Maven 版本:3.0.3
Surefire 插件版本:2.13
TestNG 版本:6.8

更新 我不使用 testng.xml 文件来定义要运行的测试。根据这个解释,这也不应该是必要的:

这是开始所需的唯一步骤 - 您现在可以在测试源目录中创建测试(例如,src/test/java。只要使用默认值命名它们,例如 *Test.java,它们就会运行由 Surefire 作为 TestNG 测试。

4

0 回答 0