До и Перед Классом в JUnit
@Before
Аннотация функции будет выполняться перед каждой тестовой функцией в классе, имеющей @Test
аннотацию, но функция с @BeforeClass
будет выполнена только один раз перед всеми тестовыми функциями в классе.
Аналогичным образом функция с @After
аннотацией будет выполняться после каждой тестовой функции в классе, имеющей @Test
аннотацию, но функция с @AfterClass
будет выполняться только один раз после всех тестовых функций в классе.
SampleClass
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
5 июня
@Before = @BeforeEach
@BeforeClass = @BeforeAll
@After = @AfterEach
@AfterClass = @AfterAll