之前之後
在每次執行 @Test
方法之前,將執行帶有 @Before
的帶註釋的方法。類似於 @After
註釋方法在每個 @Test
方法之後執行。這可用於重複設定測試設定並在每次測試後進行清理。因此測試是獨立的,準備程式碼不會複製到 @Test
方法中。
例:
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class DemoTest {
private List<Integer> list;
@Before
public void setUp() {
list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(4);
list.add(1);
list.add(5);
list.add(9);
}
@After
public void tearDown() {
list.clear();
}
@Test
public void shouldBeOkToAlterTestData() {
list.remove(0); // Remove first element of list.
assertEquals(5, list.size()); // Size is down to five
}
@Test
public void shouldBeIndependentOfOtherTests() {
assertEquals(6, list.size());
}
}
用 @Before
或 @After
註釋的方法必須是 public void
且零引數。