Before e BeforeClass no JUnit
A @Before
anotação da função será executada antes de cada uma das funções de teste da classe ter @Test
anotação, mas a função com @BeforeClass
será executada apenas uma vez antes de todas as funções de teste da classe.
Da mesma forma, a função com @After
anotação será executada após cada função de teste na classe ter @Test
anotação, mas a função com @AfterClass
será executada apenas uma vez após todas as funções de teste na classe.
SampleClass
public class SampleClass {
public String initializeData(){
return "Initialize";
}
public String processDate(){
return "Process";
}
}
Teste de amostra
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() );
}
}
Resultado
Before Class
Before Function
After Function
Before Function
After Function
After Class
Em 5 de junho
@Before = @BeforeEach
@BeforeClass = @BeforeAll
@After = @AfterEach
@AfterClass = @AfterAll