TestNG-共通の注釈パラメータ

ラベル@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は("動作が設定された後に方法***」); 
    }
  1. 注意@Testプラスグループ=「グループ名」、メソッドのグループの後、添加されるべきです
  2. あなたは@BeforeGroupsと@AfterGroupsが必要な場合は2冊のノートには、指定されたグループ名(「グループ名」)と、これら2つの音符の後にすることが

テストグループ:クラスのグループ化

  1. 各クラスの上に注釈を付ける@Test
  2. あなたは全体の実行を指定することができ、書き込み、実行に対応する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(タイムアウト=ミリ秒)の応答値を得るために、ミリ秒単位の所望の数を表していない場合、所与のユースケース

 

おすすめ

転載: www.cnblogs.com/starstarstar/p/11305733.html