目前,我正在阅读《JUnit实战》这本书。在这本书中,我发现以下文字:
在调用每个@Test方法之前,JUnit会创建测试类的一个新实例。这有助于提供测试方法之间的独立性,并避免测试代码中出现意外副作用。因为每个测试方法都在新的测试类实例上运行,所以我们不能跨测试方法重复使用实例变量值。
现在,我不太理解这种方法的意义:
例如:
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,我发现了一种方法可以在许多测试方法中使用相同的变量count...
那么,如何看出书中描述的这种方法的真正好处呢?