使用Junit 4.12。 JUnit' s在记录注释之前,但在我看来它不再需要。显然,JUnit为每个测试创建一个新实例,如下面的代码片段所示:
import org.junit.Test;
public class BeforeTest {
TestObject testObject = new TestObject();
@Test
public void one(){
System.out.println(testObject.status);
testObject.setStatus("Used by one()");
}
@Test
public void two(){
System.out.println(testObject.status);
testObject.setStatus("Used by two()");
}
private class TestObject{
public String status;
public TestObject(){
status = "new";
}
void setStatus(String newStatus){status = newStatus;}
}
}
-----------------------------
new
new
我们还需要@Before吗?
答案 0 :(得分:4)
与此similar question一样,使用@Before
注释的方法通常可以用构造函数/字段初始化替换。
存在一些可能会对角落情况产生影响的细微差别: