JUnit4の主要なアノテーション
アノテーション | 意味 |
---|---|
@BeforeClass | テストクラスの開始時に1度だけ実行されるメソッドであることを明示的に示す。 デフォルトはsetUpBeforeClassメソッド。 |
@AfterClass | テストクラスの終了時に1度だけ実行されるメソッドであることを明示的に示す。 デフォルトはtearDownAfterClassメソッド。 |
@Before | 各テストメソッドが呼び出される前に実行されるメソッドであることを明示的に示す。 デフォルトはsetupメソッド。 |
@After | 各テストメソッドの終了後に実行されるメソッドであることを明示的に示す。 デフォルトはtearDownメソッド。 |
@Test | テストメソッドであることを明示的に示す。 |
@Ignore | テストメソッドから除外することを明示的に示す。 |
注意すべき要点は以下。
注意
- 「@BeforeClass」と「@AfterClass」はテストクラスの開始時と終了時に1度だけ実行される。
- 「@Before」と「@After」は各テストメソッドの開始時と終了時に呼ばれる。(テストメソッドの数だけ実行される。)
- テストメソッド名の頭に「test」を付けなくても「@Test」を付けることでテストメソッド扱いにできる。
4フェーズテスト
下記はテスト対象のコード。
public class classA {
public int add(int x,int y){
return x + y;
}
}
下記はテストコード。
public class ATest {
static classA A;
int x = 0;
int y = 0;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
//1.初期化
A = new classA();
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
//4.全体のテスト終了後の後処理。
}
@Before
public void setUp() throws Exception {
x = 100;
y = 200;
}
@After
public void tearDown() throws Exception {
//4.各メソッドでの後処理。
}
@Test
public void test() {
//2.テスト実施
int actual = A.add(x,y);
//3.アサーション
assertEquals(300, actual);
}
}
初めまして。
勉強させていただきます!