2017-03-24 21 views
0

いくつかのテストケースを含むテストスイートをいくつか作成しました。 は、以下のように次のようになります。junit TestSuiteを並列化する方法

@RunWith(Suite.class) 

@Suite.SuiteClasses({ 

    HttpAPICreationTest.class, 
    HttpAPIVerifyTest.class, 
    HttpAPIDeletionTest.class 
}) 

public class HttpAPITestSuite { 
} 

@RunWith(Suite.class) 

@Suite.SuiteClasses({ 

    HtmlSeleniumScriptBatchCreationTest.class, 
    PagingVerificationTest.class, 
    HtmlSeleniumScriptBatchDeletionTest.class 
}) 

public class PagingTestSuite { 
} 

は、今私は並行して、私のHttpAPITestSuitePagingTestSuiteを実行したい、と今のところ、HttpAPICreationTest.classHttpAPIVerifyTest.classHttpAPIDeletionTest.classはない並行して、シリアルに実行されている>また、私はしたくありません彼らの命令を破る。

は、どのように私は私のスイートには、並列実行させると、その内側のテストケースのために元の順序を維持することができます:並列にHttpAPICreationTest.classHtmlSeleniumScriptBatchCreationTest.classを実行し、常にHttpAPIVerifyTest.classHttpAPIDeletionTest.classHttpAPICreationTest.classのケースを保ちます。

答えて

1

mavenを使用している場合は、Surefireフォークを使用してください。ビヘイビアパーツを並列にしたい場合は、シリアルにする必要があります。プラグインを別の設定で複数回実行する必要があります。しかし、一般的に言えば、jUnitランナー/プラグインは「グラフとしてテストを実行する」にはあまり適していません.TestNGでは、テストの順序付けがより良い方法で行われます。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <forkCount>3</forkCount> 
     <reuseForks>true</reuseForks> 
    </configuration> 
    </plugin> 

その他のドキュメント:http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html


編集:あなたのアイデアからテストを実行している場合、そのアイデアは、(2016.3)を実行して、独自の設定があります設定をテスト(とMavenをピックアップしていません設定)。また、テスト実行ごとに1つのグローバル設定(シリアル/ method_fork/class_form + forkカウント)のみをサポートします。

+0

こんにちは、すばやく答えてくれてありがとう。私はそれが動作するかどうかを確認します。 – ShuSheng

関連する問題