執行順序 Test Order
JUnit可以用annotation設定測試執行的順序,其中@BeforeClass,@AfterClass是指當前的class在執行測試前後 會執行的方法,在一個class中只會被執行一次。@Before跟@After是會在每一個@Test前後執行一次。
package yan.junit;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestOrder {
@BeforeClass
public static void beforeClass(){
System.out.println("before class");
}
@AfterClass
public static void afterClass(){
System.out.println("after class");
}
@Before
public void before(){
System.out.println("before Test");
}
@After
public void after(){
System.out.println("after Test");
}
@Test
public void testAAA(){
System.out.println("Test: Hello JUnit, AAA");
}
@Test
public void testBBB(){
System.out.println("Test: Hello JUnit, BBB ");
}
}
執行結果
before class //@beforeClass 只執行一次
before Test //@before在測試前執行
Test: Hello JUnit, AAA
after Test //@after在測試後執行
before Test //@before在測試前執行
Test: Hello JUnit, BBB
after Test //@before在測試前執行
after class //@afterClass 只執行一次