現在、「JUnitinaction」の本を読んでいます。この本で私は以下のテキストを見つけました:
JUnitは、各@Testメソッドを呼び出す前に、テストクラスの新しいインスタンスを作成します。これにより、テストメソッド間の独立性が確保され、テストコードでの意図しない副作用が回避されます。各テストメソッドは新しいテストクラスインスタンスで実行されるため、テストメソッド間でインスタンス変数値を再利用することはできません。
今、私はこのアプローチに多くのポイントを見ていません:
例えば:
public class CalculatorTest {
@Test
public void testAdd_1() {
Calculator calculator = new Calculator();
double result = calculator.add(1, 1);
assertEquals(2, result, 0);
}
@Test
public void testAdd_2() {
Calculator calculator = new Calculator();
double result = calculator.add(2, 2);
assertEquals(4, result, 0);
}
}
テストクラスCalculatorTestの場合、利点はありません。
では、別の例に注目しましょう。
public class OneTest {
static byte count;
public OneTest() {
count++;
}
@Test
public void test1() {
System.out.println(count);
}
@Test
public void test2() {
System.out.println(count);
}
}
テストクラスOneTestの場合、多くのテストメソッドに同じ変数カウントを使用する方法を見つけました...
それで、本で説明されているアプローチの本当の利点をどのように見るのですか?