TestNGのグループテストとグループ内のグループテスト


テストを作成する過程で、私たちはよく個別または一部/あるタイプのテスト例を実行したいと思っています.この場合、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
===============================================

TestNGのパラメトリックテスト、共有スレッドプール構成、パラメータデフォルト設定


もし私が寛容だったら、
私が臆病だと思わないでください.寛容は美徳であり、美徳は間違っていないことを知っているからだ.