JUnit 3、JUnit 4、Selenium の TestNG の違いは何ですか? これら 3 つのテスト フレームワークで Selenium がどのように異なる方法で実装されていますか?
誰かわかりやすく説明してくれませんか..
前もって感謝します..
TestNG は、テスト ケース間の依存関係を処理します。 1 つのテスト ケースの失敗がテスト ケースのグループの失敗の原因となった場合、そのグループはスキップされ、残りのテスト スイートが実行されます。失敗したテスト ケースに依存するグループは、スキップされたものではなく、失敗したものとして報告されます。
Junit では、1 つのテスト ケースが失敗すると、テスト スイートで一連のテスト ケースが失敗する可能性があります。依存するテスト ケースのセットをスキップするオプションはありません。依存するテスト ケースも失敗として報告されます。たとえば、ログインをテストするテスト ケースがあり、次の 10 個のテスト ケースでログイン後にトランザクションを実行する必要があるとします。ログイン テスト ケースが失敗すると、他の 10 個のテスト ケースも失敗します。
TestNG では、グループを定義できます。グループは、テスト スイートの特定のサブセットです。テスト スイート全体を実行する代わりに、データベース関連のテスト ケースなど、テスト スイートの特定のサブセットのみを実行することを選択できます。これは、次のように実行できます。
テスト ケースでは、以下のように 2 つのグループ DBTestcase と deprecated を定義します。
@Test(groups = {"DBTestcase", "deprecated"})
public void testMethod2()
{
}
Junit では、長い間、テスト ケースの特定のサブセットを実行することができませんでした。スイート全体を実行することも、各テスト ケースを個別に実行することもできます。Junit 4.8 では、この制限を克服するために「カテゴリ」と呼ばれる新機能が導入されました。ただし、グループは TestNG で構成する方がはるかに簡単です。
したがって、junit 3.x シリーズを使用している場合、グループを定義できません。ただし、junit 4.8 以降ではサポートされています。