Java TestNG中包含的组定义和方法是否相互排斥?
TestNG.XML文件中包含的组定义和方法是否相互排斥 我想按照特定的顺序测试测试类的方法,因为它们相互依赖。例如,第一个方法将实体保存到数据库中,第二个方法检查数据库表的唯一约束是否有效。测试使用预期的异常标记进行注释 现在,我只想测试一组测试。我已经用一个组注释db注释了所有的测试。但是,TestNG仍然执行这些测试,因为它们在要包含的TestNG文件中被指定,我需要这样做才能以特定的顺序运行它们 你知道如何避开这个问题吗?我通过注释掉我不想执行的测试来解决这个问题,但这很乏味 谢谢Java TestNG中包含的组定义和方法是否相互排斥?,java,testng,Java,Testng,TestNG.XML文件中包含的组定义和方法是否相互排斥 我想按照特定的顺序测试测试类的方法,因为它们相互依赖。例如,第一个方法将实体保存到数据库中,第二个方法检查数据库表的唯一约束是否有效。测试使用预期的异常标记进行注释 现在,我只想测试一组测试。我已经用一个组注释db注释了所有的测试。但是,TestNG仍然执行这些测试,因为它们在要包含的TestNG文件中被指定,我需要这样做才能以特定的顺序运行它们 你知道如何避开这个问题吗?我通过注释掉我不想执行的测试来解决这个问题,但这很乏味 谢谢 &l
<suite name="xxx_war_1.0-SNAPSHOT" allow-return-values="true">
<test name="PersistenceTestSuite">
<groups>
<run>
<exclude name="testdata" />
<include name="db" />
</run>
</groups>
<classes>
<class name="xxx.test.TestdataCreator">
<methods>
<include name="createTestdata"/>
</methods>
</class>
<class name="xxx.test.ConnectionProviderTest">
<methods>
<include name="testGetConnection"/>
<include name="testTwoConnectionsNotEqual"/>
<include name="testCloseConnection"/>
</methods>
</class>
[...]
public class ConnectionProviderTest {
private Connection connection;
public ConnectionProviderTest() {
}
@Test(groups = "db")
public void testGetConnection() throws UserFriendlySQLException {
this.connection = ConnectionProvider.getConnection();
Assert.assertNotNull(this.connection);
} [...]
可以使用@Test annotation的priority/dependsOnGroups/dependsOnMethods属性来维护方法执行的顺序。因此,现在您可以使用组功能来包括或排除测试。您只需要根据功能需求对测试进行分组。
请接受此答案,让我知道这是否有助于您。除了包含的3个方法之外,您的ConnectionProviderTest类中还有其他方法吗?没有,这些都是方法。谢谢!将来将使用注释dependson方法。