我有一个非常简单的测试套件,类似于以下内容:
public abstract class AbstractTestClass {
protected AbstractTestClass() {
System.out.println(getClass().getSimpleName());
}
}
@Test(groups = { "test1_test_group" })
public final class Test1 extends AbstractTestClass { ... }
@Test(groups = { "test2_test_group" })
public final class Test2 extends AbstractTestClass { ... }
<!-- testng.xml -->
<suite name="SimpleTestSuite">
<test name="DummyTest">
<groups>
<run>
<include name="test1_test_group" />
</run>
</groups>
<packages>
<package name="my.test.package.*" />
</packages>
</test>
</suite>
我不确定它是否是设计但是为什么TestNG在我想要执行的唯一测试组是test1_test_group时,在给定包中创建所有类的实例,即上述测试运行的输出如下:
Test1
Test2
我试图删除完整的&lt; packages&gt;标签用&lt; classes&gt;替换它列出单个类的标签,但它们的行为相同。报告的唯一一个接近这种情况的缺陷(虽然被拒绝)是https://github.com/cbeust/testng/issues/1075
答案 0 :(得分:0)
更改您的testng xml文件。删除包,而不是使用如下类:
<suite name="SimpleTestSuite">
<test name="DummyTest">
<groups>
<run>
<include name="test1_test_group" />
</run>
</groups>
<classes>
<class name="your class with fully qualified name where tests are written" />
</classes>
</test>
</suite>