Home
CJ3021397-C\yyama edited this page Mar 31, 2024
·
3 revisions
JUnitテストケース範囲指定実行
JUnitテスト範囲実行をテストケースメソッドにアノテーションを付与して テストクラスアノテーションで範囲の実行もしくは、任意に指定するテストケース メソッドだけを実行する。
@RunWith(OrderedRunner.class)
@TestRange(start=2, end=4)
public class HelloTest {
@Test @Order(1)
public void test1() {
//
}
@Test @Order(2)
public void test2() {
//
}
@Test @Order(3)
public void test3() {
//
}
@Test @Order(4)
public void test4() {
//
}
}
上記は、 @Order(2), @Order(3), @Order(4) のメソッドが実行される。
@TestRange(start=2)
の指定で、@Order(2) 以降のメソッドは実行される。
@TestRange(x={1, 3})
の指定で、@Order(1)と@Order(3)のメソッドだけが実行される x配列の指定をした場合、start, end の指定は無効である。
- テストケースメソッドに、実行する順位を指定する。
- 属性 value でテスト実行する順位をする。"value="を省略可能
@Test
@Order(value=1)
public void testmethod1 {
// test case 1
}
@Test
@Order(value=2)
public void testmethod2 {
// test case 2
}
//value名省略
@Test
@Order(3)
public void testmethod3 {
// test case 3
}
- @RunWith で指定するBlockJUnit4ClassRunner 継承クラス
- @TestRange と共にテストクラス @RunWithアノテーションで指定する
@RunWith(OrderedRunner.class)
- @RunWith(OrderedRunner.class) と共にテストクラスに付与する。
- @Order で指定したテストケースメソッドの順位に対して、テスト実行範囲または、選抜した順位のみを実行するように指定する。
(@Order(1)のメソッドから@Order(4)のメソッド)
@TestRange(start=1, end=4)
@Order(2)のメソッド以降)
@TestRange(start=2)
@Order(2)のメソッド、@Order(5)のメソッド、@Order(7)のメソッド
@TestRange(x={2, 5, 7})
配列を指定した場合、start, end の指定は無効で配列の順番で@Order のテストケースメソッドが実行される。