如何使用 TestNG.xml 从大型测试套件中执行单个测试?
testNG.xml 非常灵活,可以作为执行测试用例的测试框架文件。它将开发和执行彼此分离。用户可以在 testNG 中开发“N”个测试用例,但可以根据 testNG.xml 中的配置运行有限数量的测试方法。
在本文中,让我们看看如何从大型 TestNG 套件中只运行一个测试方法。
要只运行一个测试方法,我们将使用 TestNG 中的'include'关键字。在 testNG.xml 中,首先我们将定义包含该方法的类名,然后在使用'include'关键字的同时提及要执行的测试名称。
解决此问题的方法/算法 -
步骤 1 - 在类中导入 org.testng.annotations.* 用于 TestNG。
步骤 2 - 写一个 @test 注释
步骤 3 - 为 @test 注释创建一个方法,例如test1。
步骤 4 - 对test2和test3重复上述步骤。
步骤 5 - 同样,创建“n”个类并添加多个测试。在本例中,我们将创建 2 个类,每个类包含 2 个测试方法。
步骤 6 - 现在创建如下所示的 testNG.xml。
步骤 7 - 运行 testNG.xml 或直接在 IDE 中运行 testNG 类,或者使用命令行编译并运行它。
示例
以下代码显示了如何从大型套件中只运行 1 个测试方法 -
src/ NewTestngClass.java
import org.testng.annotations.Test; public class NewTestngClass { @Test public void testCase1() { System.out.println("in test case 1 of NewTestngClass"); } @Test public void testCase2() { System.out.println("in test case 2 of NewTestngClass"); } }
src/OrderofTestExecutionInTestNG.java
import org.testng.annotations.Test; public class OrderofTestExecutionInTestNG { // test case 1 @Test public void testCase3() { System.out.println("in test case 3 of OrderofTestExecutionInTestNG"); } // test case 2 @Test public void testCase4() { System.out.println("in test case 4 of OrderofTestExecutionInTestNG"); } }
testng.xml
这是一个配置文件,用于组织和运行 TestNG 测试用例。当需要执行有限的测试而不是完整套件时,它非常方便。
<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name = "Suite1"> <test name = "test1"> <classes> <class name = "NewTestngClass"> <methods> <include name="testCase1" /> </methods> </class> </classes> </test> </suite>
输出
in test case 1 of NewTestngClass =============================================== Suite1 Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
广告