ラベル@Testノート
パッケージcom.course.testng。 輸入org.testng.annotations.Test; パブリッククラスBasicAnnotation { @Test 公共ボイドtestCase01(){ System.out.printlnは( "DDD")。 } }
@Test:注釈は、メソッドがテストの一部としてマークされているために、必要不可欠である最も基本的な注釈です
ノート@BeforeMethodと@AfterMethodラベル
@BeforeMethod 公共ボイドbeforeMethodは(){ ;のSystem.out.printlnは( "試験法の前に実行") } @AfterMethod {公共ボイドafterMethod() ("の後に試験方法")のSystem.out.printlnを; }
で@BeforeMethod 各メソッド実行する前に、@AfterMethod各方法の実行後
ラベルや注釈@BeforeClass @AfterClass
@BeforeClass {公共ボイドBeforeClass() ("クラス前")のSystem.out.println; } @AfterClass 公共ボイドAfterClass(){ System.out.printlnは( "クラス内の実行後"); }
@BeforeClassは、クラスの前に実行します。@AfterClassは、クラスの後に実行します
ノート@BeforeSuitと@AfterSuitラベル
@BeforeSuite 公共ボイドbeforeSuite(){ System.out.printlnは( "キットSUIT前"); } @AfterSuite 公共ボイドafterSuite(){ System.out.printlnは( "SUIT後キット"); }
クラスは、スーツを実行する前に実行します
オーダーの概要を実行している注:
com.course.testngパッケージ; インポートorg.testng.annotations * ;. パブリッククラスBasicAnnotation { @Test 公共ボイドtestCase01(){ System.out.printlnは( "DDD"); } @Test 公共ボイドtestCase02(){ システム。 out.printlnを( "DDD2"); } @BeforeMethod 公共ボイドbeforeMethodを(){ のSystem.out.printlnは( "試験法の前に実行"); } @AfterMethod 公共ボイドafterMethodを(){ System.out.printlnは(「に試験方法の後に"); } @BeforeClass 公共ボイドBeforeClass(){ System.out.printlnは("「クラス前); } @AfterClass 公共ボイドAfterClass(){ ;のSystem.out.println( "クラス内の実行後") } @BeforeSuite 公共ボイドbeforeSuite(){ System.out.printlnは( "SUIT前キット"); } @AfterSuite 公共ボイドafterSuite(){ System.out.printlnは( "SUIT後キット"); } }
运行结果:beforesuit-> beforeclass-> beforemethod->方法1-> aftermethod-> beforemethod->方法-2-> aftermethod-> afterclass-> aftersuit
キットに合う前に クラスの前に 事前テストメソッド実行中に dddを テストメソッドの後に テストメソッドが実行される前に、 DDD2 試験方法の後に クラスのランタイムの後に スーツの後のパッケージ
テストを無視
@Test(偽=有効) 公共ボイドtestCase02(){ System.out.printlnは( "DDD2")。 }
その後@Test偽=有効なキーワードタグを追加し、プロセスが実行されません
グループテスト
テストグループ:パケット交換
@Test(グループ= "サーバ") 公共ボイドtestCase02(){ System.out.printlnは( "サーバエンド試験方法1。"); } @Test(= "サーバー"グループ) 公共ボイドtestCase03(){ のSystem.out。 println( "サーバ側テスト2"); } @BeforeGroups( "サーバ") 公共ボイドbeforeGroups(){ System.out.printlnは( "***メソッドを実行する前に設定されている"); } @AfterGroups(「サーバ") 公共ボイドafterGroups(){ System.out.printlnは("動作が設定された後に方法***」); }
- 注意@Testプラスグループ=「グループ名」、メソッドのグループの後、添加されるべきです
- あなたは@BeforeGroupsと@AfterGroupsが必要な場合は2冊のノートには、指定されたグループ名(「グループ名」)と、これら2つの音符の後にすることが
テストグループ:クラスのグループ化
- 各クラスの上に注釈を付ける@Test
- あなたは全体の実行を指定することができ、書き込み、実行に対応するXMLファイルは、パケットを指定することができます
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPEスイートSYSTEM "http://testng.org/testng-1.0.dtd" > < スイート名= "suitename" > <! - 运行所有类- > < テスト名= "runAll" > < クラス> < クラス名前= "com.course.testng.groups.Groups1" > </ クラス> < クラス名= "com.course.testng.groups.Groups2" > </ クラス> <クラス> </ クラス> </ テスト> <! - 运行指定的分组- > < テスト名= "runGroup1" > < グループ> < 実行> < 含める名= "クライアント" > </ 含める> </ 実行> </ グループ> < クラス> < クラス名= "com.course.testng.groups.Groups1" > </ クラス> <クラス名= "com.course.testng.groups.Groups2" > </ クラス> </ クラス> </ テスト> </ スイート>
異常テスト
//异常测试 @Test(expectedExceptions = RuntimeException.class) 公共ボイドtestCase01(){ System.out.printlnは( "Groups1-01")。 新しいのRuntimeExceptionを投げます(); }
の方法に@Test(expectedExceptions =例外クラス)、
依存性テスト
方法2つの方法に依存している:メソッドが失敗した場合、第二の方法が実装されていない、方法の最初の実装
@Test 公共ボイドtestCase02(){ System.out.printlnは( "Groups1-testCase02")。 新しいのRuntimeExceptionを投げます(); } @Test(dependsOnMethods = { "testCase02"}) 公共ボイドtestCase03(){ System.out.printlnは( "方法三")。 }
@Test(= { "方法に依存している"} dependsOnMethods)
マルチスレッドテスト
まず、使用xmlファイルの実装
<?のXmlバージョン= "1.0"エンコード= "UTF-8" ?> <!SYSTEMスイート"http://testng.org/testng-1.0.dtdを" DOCTYPE > < スイート名= "threadSuiteName" パラレル= "メソッド" COUNT-スレッド= "2" > <! - レベルのマルチスレッド方式は、メソッドレベルである:パラレル= "方法" - > <! - マルチスレッドの数は、2:スレッドカウント= "2" - > <!- テストレベル:ユースケース、異なるテストタグに別のスレッドで実行されてもよい、同じテストタグの下ケースを使用して、唯一の同じスレッドで実行される クラスレベル:であることができる、異なるクラスのタグの下ケースを使用異なるスレッドを実行し、ケースを使用して、唯一の同じクラスのタグ内の同じスレッドで実行される 方法のレベル:すべてのユースケースは、異なるスレッドで実行することができる スレッド数:最大同時スレッド数表す XMLをこのXML構成を使用マルチスレッドは、スレッドプールが唯一の方法で指定することができ、スレッドプールを指定することはできません - > < テスト名= "スレッド" > < クラス> < クラス名= "com.course.testng.multiThread.Thread01" > </ クラス> < クラス名= "com.course.testng.BasicAnnotation" > </ クラス> </ クラス> </ テスト> </ スイート>
タイムアウトテスト
@Test(タイムアウト= 3000)// 所望の応答を得るために3000ミリ秒、値 公共 ボイド TEST01()をスローInterruptedExceptionある{ (のThread.sleep 2000); // SLEEP 2000ミリ秒、3000に応じた値を、ユースケースによって } @Test(タイムアウト = 3000)// 所望の応答を得るために3000ミリ秒、値 公共 ボイド TEST02()をスロー{InterruptedExceptionある (のThread.sleep ; 3500)// 3500ミリ秒後にのみ与えられたユースケースに応じて }
@Test(タイムアウト=ミリ秒)の応答値を得るために、ミリ秒単位の所望の数を表していない場合、所与のユースケース