2009-07-26 21 views
1

私は日食が初めてです。私はJUnit 4を使用しています。私はいくつかの初期化が行われるTestcaseを拡張するクラスのメソッドを作成しました。同じクラスにいくつかのテストケースがあります。私は圧縮された形式のテストデータを持っており、作業スペースに接続しています。 現在、私は1つのテストデータに対してすべてのテストケースを実行できます。どうにかして、私はコントロールを設定して、2番目のテストデータを取得し、すべてのテストケースを実行するようにします。 可能ですか?もし誰かがコードスニペットを送ってもらえますか?事前にテストケースの同じセットで複数のテストデータを実行する

おかげ

返事してくれてありがとうしかし、私はそれを設定する方法で保管しなければならないとどのようにテストデータが設定から取り込まれるかどうか、そのようなコードを維持する必要がありますか?

+0

私は以下のよりもより良い、またはより明確な答えを提供することはできません。あなたが理解していないことがわかりません。もしあなたがテストを投稿したら、私たちはさらに助けてくれるかもしれません。 – hobodave

答えて

1

パラメータ化されたランナーを使用する必要があります。複数のテストデータで同じテストを実行できます。例えば以下は、テストが4回実行されることを意味し、パラメータ "number"は毎回アレイの値に変更されます。

@RunWith(value = Parameterized.class) 
public class StackTest { 
Stack<Integer> stack; 
private int number; 

public StackTest(int number) { 
    this.number = number; 
} 

@Parameters 
public static Collection data() { 
    Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } }; 
    return Arrays.asList(data); 
} 
... 
} 

編集明らかではないが、私は明確にしようとします何

わかりません。

@RunWith(value = Parameterized.class)アノテーションが必要です。 Collectionオブジェクトを返す@Parametersで注釈を付けられたメソッドが必要です。各要素は、テストに使用されるさまざまなパラメータの配列でなければなりません。これらのパラメータを受け入れるパブリックコンストラクタが必要です。

追加情報および別の例はdocumentationにあります。

さらにexamples

+0

ありがとう、しかし、これらはSetup()メソッドのどこに書きますか?もしそうなら、制御の流れは何ですか? –

+0

テストクラスを投稿できますか? – hobodave