2012-02-27 18 views
1

私はExecutorServiceを使用して並列junitテストを実行しています。各テストでは、乱数ジェネレータを使用してそれ自体を識別し、他のテストとは独立して実行します。私のシナリオは、このExecutorServiceユニットテストを使用してテストケースを順序付ける方法

  • テスト1のようなシステムに特定の特性を持つユーザーのための
  • テスト2件の検索システムに新しいユーザーを追加
  • テスト2.1は、検索ユーザーのいずれかを選択して、リクエストを送信
  • テスト3テスト1のIDを使用し、保留中の要求があるかどうかを確認します。しかし、このテストは1と2が実行されるまで実行できません。また、彼らはtest1からいくつかのデータが必要です。

パブリック静的変数を使用してtest1からデータを保存および復元することができます。これをきちんとやることについてのアイデア。仕事で最初の日に悪い印象を作りたくありません。これを行うには

public class TestCases { 
    static ExecutorService exe ; 
    public static void main(String[] args) throws Throwable { 
     test1() ; 
     test2() ; 
     test3() ; 
    } 

    public static void test1() { 
     exe = Executors.newCachedThreadPool() ; 
     for (int i = 0 ; i < 10 ; i++) { 
      Test1 test1 = new Test1() ; 
      exe.execute(test1) ; 
     } 
     exe.shutdown() ; 
     while(!exe.isShutDown()) { 
     } 
    } 
    //same for test2 and test3 
} 

答えて

1

一つの方法として、以下の

サンプルコードは、Test3はのサブセットとしてのTest1とTest2をマージすることです。これらすべてが一緒にTest4になることがあります。この方法で、1つの特定のシナリオだけをテストします。シナリオベースのテストを作成する方法を考えることをお勧めします。

関連する問題