TestNGのグループテストとグループ内のグループテスト
4647 ワード
テストを作成する過程で、私たちはよく個別または一部/あるタイプのテスト例を実行したいと思っています.この場合、TestNGのグループテスト方法を使用することができます.
パケットテストは構成時にTestNGが実行する原則は、最小集合のみを保持して実行することである
コードを見てください:
プロファイル:testng-groups.xml
実行結果:
私たちのテスト例がたくさん蓄積された後、私たちはテスト前のグループを必要としないかもしれません.さっき書いたグループをテストすれば、testngは新しい構成方法を提供して、この機能を実現して、テスト者にプロファイルを修正するだけでテストを完成させます.
注意:複数のgroupテストの場合、xmlファイルdomの順序は''ラベルが''ラベル内にある必要があります.そうしないと、空のポインタが異常になります.
プロファイル:testng-groupOfGroup.xml
テスト結果:(注意:この時点で実行されるテストパケットはrunラベル内で構成され、includeとexcludeの場合は、Defineラベルのnameに基づいて決定されます)
TestNGのパラメトリックテスト、共有スレッドプール構成、パラメータデフォルト設定
パケットテストは構成時にTestNGが実行する原則は、最小集合のみを保持して実行することである
コードを見てください:
/**
*
* <p>
* Title: TestngGroups
* </p>
*
* <p>
* testng-groups.xml
* Description: groups ,include exclude ,
* </p>
*
* <p>
* Company:
* </p>
*
* @author : Dragon
*
* @date : 2014 10 13
*/
public class TestngGroups {
@Test(groups = { "functest", "checkintest" })
public void testMethod1() {
System.err.println("groups = { functest, checkintest }");
}
@Test(groups = { "functest", "checkintest" })
public void testMethod2() {
System.err.println("groups = { functest, checkintest }");
}
@Test(groups = { "functest" })
public void testMethod3() {
System.err.println("groups = { functest }");
}
@Test(groups = { "checkintest" })
public void testMethod4() {
System.err.println("groups = { checkintest }");
}
}
プロファイル:testng-groups.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="framework_testng">
<test verbose="2" name="TestGroups">
<groups>
<run>
<include name="functest" />
<exclude name="checkintest" />
</run>
</groups>
<classes>
<class name="com.dragon.testng.annotation.TestngGroups" />
</classes>
</test>
</suite>
実行結果:
groups = { functest }
PASSED: testMethod3
===============================================
TestGroups
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
framework_testng
Total tests run: 1, Failures: 0, Skips: 0
===============================================
私たちのテスト例がたくさん蓄積された後、私たちはテスト前のグループを必要としないかもしれません.さっき書いたグループをテストすれば、testngは新しい構成方法を提供して、この機能を実現して、テスト者にプロファイルを修正するだけでテストを完成させます.
注意:複数のgroupテストの場合、xmlファイルdomの順序は'
/**
*
* <p>
* Title: TestngGroupsOfGroups
* </p>
*
* <p>
* :testng-groupsOfGroups.xml
* Description: <define> name ,
* <run> define name , run
*
* :<b> group ,xml dom '<groups>' '<test>' ,
* </p>
*
* <p>
* Company:
* </p>
*
* @author : Dragon
*
* @date : 2014 10 13
*/
public class TestngGroupsOfGroups {
@Test(groups = { "windows.xp" })
public void testMethod5() {
System.err.println("(groups = { windows.xp })");
}
@Test(groups = { "windows.7" })
public void testMethod6() {
System.err.println("(groups = { windows.7 })");
}
@Test(groups = { "windows.8" })
public void testMethod7() {
System.err.println("(groups = { windows.8 })");
}
}
プロファイル:testng-groupOfGroup.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="framework_testng">
<test verbose="2" name="TestGroupsOfGroups">
<groups>
<define name="windows.xp">
<include name="windows.xp" />
</define>
<define name="windows.7">
<include name="windows.7" />
</define>
<define name="all">
<include name="windows.*" />
</define>
<run>
<include name="all" />
<exclude name="windows.7" />
</run>
</groups>
<classes>
<class name="com.dragon.testng.annotation.TestngGroupsOfGroups" />
</classes>
</test>
</suite>
テスト結果:(注意:この時点で実行されるテストパケットはrunラベル内で構成され、includeとexcludeの場合は、Defineラベルのnameに基づいて決定されます)
(groups = { windows.xp })
(groups = { windows.8 })
PASSED: testMethod5
PASSED: testMethod7
===============================================
TestGroupsOfGroups
Tests run: 2, Failures: 0, Skips: 0
===============================================