之前之後

在每次執行 @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 且零引數。