JUnit의 클래스 전과 클래스
함수 @Before
어노테이션은 어노테이션이있는 클래스의 각 테스트 함수 전에 실행 @Test
되지만 클래스의 @BeforeClass
모든 테스트 함수 전에 함수는 한 번만 실행됩니다.
마찬가지로 @After
어노테이션이있는 함수는 어노테이션이있는 클래스의 각 테스트 함수 후에 실행 @Test
되지만 클래스에있는 @AfterClass
모든 테스트 함수 후에 한 번만 실행됩니다.
샘플 클래스
public class SampleClass {
public String initializeData(){
return "Initialize";
}
public String processDate(){
return "Process";
}
}
샘플 테스트
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