TestNGオープンソース自動化テストフレームワーク

7527 ワード

要旨:TestNGはオープンソース自動化テストフレームワークである.TestNGは次世代を表す.TestNGはJUnit(特にJUnit 4)に似ていますが、JUnit拡張ではありません.そのインスピレーションはJUnitに由来する.その目的はJUnitより優れており、特にテストが統合されたクラスである.
主な内容:TestNG作成テスト:TestNG作成テストは基本的に以下のステップを含む:
  • ビジネスロジックをテストし、作成し、コードにTestNGの注釈を挿入する.
  • testngを追加します.xmlファイルまたはbuild.xmlでテスト情報(クラス名、実行するグループなど.)
  • TestNGを実行する.

  • TestNG基本注記(注記):@BeforeSuite注記の方法は1回のみ実行され、すべてのテストを実行する前にこのスイートで実行されます.@AfterSuite注記のメソッドは、このスイートのすべてのテストを一度だけ実行した後に実行されます.@BeforeClass注記のメソッドは、現在のクラスで先行試行されたメソッド呼び出しを1回だけ実行します.@AfterClass注記のメソッドは、現在のクラスで実行されているすべてのテストメソッドを1回だけ実行します.@BeforeTest注記のメソッドは、実行前の任意のテストメソッドが内部クラスのラベルの実行に属します.@AfterTest注記のメソッドが実行されると、すべてのテストメソッドが、内部クラスのラベルの実行に属します.@BeforeGroupグループのリストです.この構成方法は以前に実行されます.このメソッドは、これらのグループに属する最初のテストメソッドが実行されることを保証します.このメソッドは呼び出されます.@AfterGroupsグループのリストは、この構成方法の後、実行されます.このメソッドは、実行後間もなく、これらのグループに属して呼び出される最後のテストメソッドを保証します.@BeforeMethod注記のメソッドは、各テストメソッドの前に実行されます.@AfterMethodがコメントされたメソッドが実行されると、各テストメソッドが実行されます.@DataProviderは、データのテスト方法を提供する方法を示しています.注記のメソッドは、各オブジェクト[]のテストメソッドのパラメータリストに割り当てられるObject[]を返さなければなりません.@Testメソッドは、このDataProviderからデータを受信するには、1つのdataProvider名がこの注釈に等しい名前を使用する必要があります.@ファクトリとしてFactoryはTestNGのテストクラスに戻るオブジェクトをタグ付けの方法に使用します.このメソッドはObject[]を返さなければなりません.@Listenersは、テストクラスのリスナーを定義します.@パラメータでは、パラメータを@Testメソッドに渡す方法を説明します.@Testは、テストの一部としてクラスまたはメソッドをマークします.
    TestNG実行プログラム:例:
    import org.testng.annotations.Test;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.AfterMethod;
    import org.testng.annotations.BeforeClass;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.AfterTest;
    import org.testng.annotations.BeforeSuite;
    import org.testng.annotations.AfterSuite;
    
    public class TestngAnnotation {
        // test case 1
        @Test
        public void testCase1() {
            System.out.println("in test case 1");
        }
    
        // test case 2
        @Test
        public void testCase2() {
            System.out.println("in test case 2");
        }
    
        @BeforeMethod
        public void beforeMethod() {
            System.out.println("in beforeMethod");
        }
    
        @AfterMethod
        public void afterMethod() {
            System.out.println("in afterMethod");
        }
    
        @BeforeClass
        public void beforeClass() {
            System.out.println("in beforeClass");
        }
    
        @AfterClass
        public void afterClass() {
            System.out.println("in afterClass");
        }
    
        @BeforeTest
        public void beforeTest() {
            System.out.println("in beforeTest");
        }
    
        @AfterTest
        public void afterTest() {
            System.out.println("in afterTest");
        }
    
        @BeforeSuite
        public void beforeSuite() {
            System.out.println("in beforeSuite");
        }
    
        @AfterSuite
        public void afterSuite() {
            System.out.println("in afterSuite");
        }
    
    }

    XMLファイル:
    
    
    <suite name="Suite1">
      <test name="test1">
        <classes>
           <class name="TestngAnnotation"/>
        classes>
      test>
    suite>

    実行結果:
    in beforeSuite
    in beforeTest
    in beforeClass
    in beforeMethod
    in test case 1
    in afterMethod
    in beforeMethod
    in test case 2
    in afterMethod
    in afterClass
    in afterTest
    in afterSuite
    
    ===============================================
    Suite
    Total tests run: 2, Failures: 0, Skips: 0
    ===============================================

    TestNG実行テストTestNGスイートテストTestNG無視テストTestNGグループテストTestNG異常テストTestNG依存テストTestNGパラメータ化テストTestNG実行JUnitテストTestNGテスト結果報告TestNGプラグインとANT TestNG Eclipseプラグイン
    まとめ:TestNGはほとんどの古いフレームワークの制限を解消し、開発者がより柔軟で強力なテストを作成できるようにしました.Java注釈(JDK 5.0で導入された)で定義されたテストを大きく参考にしているので、この新しい機能を実際のJava言語の生産環境でどのように使用するかを教えてくれます.
    参考文献:TestNG紹介
    私はBootstrap+EasyUI+Djangoを利用してウェブサイトを開発します:http://www.xuyangting.com/ようこそいらっしゃいました
    QQグループへようこそ->ベランダテスト->239547991(グループ番号)