ก่อนและ BeforeClass ใน JUnit
@Before
คำอธิบายประกอบฟังก์ชั่นจะถูกดำเนินการก่อนที่แต่ละฟังก์ชั่นการทดสอบในชั้นเรียนที่มี@Test
คำอธิบายประกอบ แต่ฟังก์ชั่นด้วย@BeforeClass
จะถูกดำเนินการเพียงครั้งเดียวก่อนฟังก์ชั่นการทดสอบทั้งหมดในชั้นเรียน
ในทำนองเดียวกันฟังก์ชั่นที่มี@After
คำอธิบายประกอบจะถูกดำเนินการหลังจากที่แต่ละฟังก์ชั่นการทดสอบในระดับที่มี@Test
คำอธิบายประกอบ แต่ฟังก์ชั่นที่มี@AfterClass
จะได้รับการดำเนินการเพียงครั้งเดียวหลังจากที่ทุกฟังก์ชั่นการทดสอบในชั้นเรียน
SampleClass
public class SampleClass {
public String initializeData(){
return "Initialize";
}
public String processDate(){
return "Process";
}
}
SampleTest
public class SampleTest {
private SampleClass sampleClass;
@BeforeClass
public static void beforeClassFunction(){
System.out.println("Before Class");
}
@Before
public void beforeFunction(){
sampleClass=new SampleClass();
System.out.println("Before Function");
}
@After
public void afterFunction(){
System.out.println("After Function");
}
@AfterClass
public static void afterClassFunction(){
System.out.println("After Class");
}
@Test
public void initializeTest(){
Assert.assertEquals("Initailization check", "Initialize", sampleClass.initializeData() );
}
@Test
public void processTest(){
Assert.assertEquals("Process check", "Process", sampleClass.processDate() );
}
}
เอาท์พุต
Before Class
Before Function
After Function
Before Function
After Function
After Class
ใน Junit 5
@Before = @BeforeEach
@BeforeClass = @BeforeAll
@After = @AfterEach
@AfterClass = @AfterAll