До и 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
В июне 5
@Before = @BeforeEach
@BeforeClass = @BeforeAll
@After = @AfterEach
@AfterClass = @AfterAll