目前,我正在阅读“JUnit in action”一书。在这本书中,我找到了以下文字:
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,我找到了一种对许多测试方法使用相同变量计数的方法......
那么,如何看到书中描述的方法的真正好处呢?