TestNG 入門指導——理解testng.xml執行/不執行某個包,某個類,某個方法
這一篇我們主要學習如下幾個知識點:
⑴關於testng.xml
⑵建立一個測試套件
⑶執行testng.xml
⑷在測試套件中建立多個測試用例
⑸在用例中增加class,packages, method
⑹用例中包含/不包含class,packages, method
⑺⑻⑼⑽
在開始學習這些知識點之前,需要在eclipse中先建立一個java 專案,結構如下:
在每個class檔案中增加如下程式碼
import org.testng.annotations.Test;
public class FirstTestClass {
@Test
public void firstTest(){
System.out.println("First test method");
}
@Test
public void secondTest(){
System.out.println("Second test method");
}
}
其中方法test.thirdpackage.FirstTestClass.firstTest()的註解修改為 @Test (groups={"test-one"}) 【關注testng的註解在後面的文章中會有解釋】
1、class-testng.xml 檔案用來展示如何只執行class,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Class Suite" verbose="1">
<test name="Test">
<classes>
<class name="test.firstpackage.FirstTestClass"/>
<class name="test.secondpackage.FirstTestClass"/>
<class name="test.thirdpackage.FirstTestClass"/>
</classes>
</test>
</suite>
2、combine-testng.xml檔案用來展示如何執行firstpackage,secondpackage.FirstTestClass,thirdpackage.FirstTestClass.firstTest,內容如下
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Combine Suite" verbose="1">
<test name="Combine Test">
<packages>
<package name="test.firstpackage" />
</packages>
<classes>
<class name="test.secondpackage.FirstTestClass" />
<class name="test.thirdpackage.FirstTestClass" >
<methods>
<include name="firstTest"/>
</methods>
</class>
</classes>
</test>
</suite>
3、exclude-method-testng.xml用來展示如何不包含methods,內容如下;
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Exclude Method Suite" verbose="1">
<test name="Exclude Method Test">
<classes>
<class name="test.firstpackage.FirstTestClass">
<methods>
<exclude name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>
4、exclude-package-testng.xml用例展示如何不執行某個packages,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Exclude Method Suite" verbose="1">
<test name="Exclude Method Test">
<classes>
<class name="test.firstpackage.FirstTestClass">
<methods>
<exclude name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>
5、include-package-testng.xml用例展示如何只執行packages,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Include Package Suite" verbose="1">
<test name="Include Package Test">
<packages>
<package name="test.*">
<include name="test.secondpackage"/>
</package>
</packages>
</test>
</suite>
6、method-testng.xml用例展示如何只執行某個方法
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Method Suite" verbose="1">
<test name="Method Test">
<classes>
<class name="test.firstpackage.FirstTestClass">
<methods>
<include name="firstTest"/>
</methods>
</class>
<!-- <class name="test.thirdpackage.FirstTestClass"/> -->
</classes>
</test>
</suite>
7、group-testng.xml 展示瞭如何執行某個組中的用例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Group Suite" verbose="1">
<test name="Group Test">
<groups>
<run>
<include name="test-one" />
</run>
</groups>
<classes>
<class name="test.thirdpackage.FirstTestClass" />
</classes>
</test>
</suite>
準備好之後,右擊xml檔案,【Run As】——【TestNG Suite】然後在 eclipse底部的【Result of running suite】中檢視每個xml執行的結果吧