0

あるJUnitテストの結果/出力を同じクラスの別のテストと比較することは可能ですか?

以下はのアルゴリズムです

Public class CompareResult {

@Before
{
open driver
}

@After
{
quit driver
}

@Test
{
Connect to 1st website
Enter data and calculate value
Store the value in Variable A
}


@Test
{
Connect to 2nd website
Enter data and calculate value
Store the value in Variable B
}

@Test
{
Compare A and B
}
}

3番目の@Testで変数AとBの値を表示すると、NULLになります。JUnitのある@Testから別の@Testに変数を使用することはできませんか?アドバイスしてください、私はJUnitを初めて使用します。

4

2 に答える 2

2

なぜ2つのテストである必要があるのですか?値を比較している場合、実際には、複数のメソッドと、場合によっては複数のアサートを使用した1つのテストがあります。また、helper1とhelper2にアサートがない場合、これはさらに明白になります。アサーションのないテストは、それが爆発しないことをテストするだけです!

private helper1
{
    // Connect to 1st website
    // Enter data and calculate value
    // Store the value in Variable A
}


private helper2
{
    // Connect to 2nd website
    // Enter data and calculate value
    // Store the value in Variable B
}

@Test actualTest
{
    // Compare A and B with assertion
}
于 2012-04-09T00:33:14.913 に答える
0

私が理解したように、あなたはあなたの値をローカル変数に保存します。最初にプライベートフィールドAとBを宣言してから、それを使用してデータを保存します。

Public class CompareResult {

    private String a = null;
    private String b = null;

    @Before
    public void Setup() {
        open driver
    }
    ...

ところで、テストは独立している必要があり、あるテストから別のテストに値を渡すことは、それらを実装するための良い方法ではありません。また、junitをあまり使用していなかったため、テストの実行順序がどのように設定されているかわかりません。いくつかのテストの依存関係などを定義する必要があります。もう一度繰り返します。これはテストでは正しくありません。

于 2012-04-05T12:43:51.057 に答える