テストの前後に処理を入れる場合、任意のメソッドを作成して以下のアノテーションをつければよい。
アノテーション | 説明 |
---|---|
@BeforeClass | 全てのテスト実行前に1度だけ呼ばれる |
@AfterClass | 全てのテスト実行後に1度だけ呼ばれる |
@Before | 各テストの実行前に呼ばれる |
@After | 各テストの実行後に呼ばれる |
@Test | テストメソッドに付ける |
テストメソッドが2つあったとすると、以下の動きとなる。
※@Testがテストメソッド
テストメソッドを2つ持つテストクラスを作成する。(今回は動きを確認するだけなのでテストの実装はなし)
package test;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class SampleTest2 {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("@BeforeClass");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("@AfterClass");
}
@Before
public void setUp() throws Exception {
System.out.println("@Before");
}
@After
public void tearDown() throws Exception {
System.out.println("@After");
}
@Test
public void test() {
System.out.println("@Test");
}
@Test
public void test2() {
System.out.println("@Test2");
}
}
以下が出力される。
@BeforeClass
@Before
@Test
@After
@Before
@Test2
@After
@AfterClass