Quais são as diferenças entre as versões do JUnit 4 e JUnit 5 no contexto de testes?
sobes.tech IA
Resposta da IA
As principais diferenças entre JUnit 4 e JUnit 5:
-
Arquitetura: O JUnit 5 é composto por vários módulos (JUnit Platform, JUnit Jupiter, JUnit Vintage), permitindo executar testes de diferentes versões e expandir funcionalidades. O JUnit 4 é monolítico.
-
Anotações:
- Novas anotações foram introduzidas no JUnit 5:
@BeforeEachem vez de@Before,@AfterEachem vez de@After,@BeforeAllem vez de@BeforeClass,@AfterAllem vez de@AfterClass. @Testno JUnit 5 suporta novas funcionalidades, como indicar exceções esperadas usandoassertThrowsem vez do parâmetro de anotação.
- Novas anotações foram introduzidas no JUnit 5:
-
Extensibilidade: O JUnit 5 fornece um modelo extensível de extensões (Extension API), substituindo regras e runners do JUnit 4.
-
Suporte a expressões lambda e Java 8+: O JUnit 5 utiliza recursos do Java 8, facilitando a escrita de testes e melhorando a legibilidade.
-
Testes parametrizados: O suporte a testes parametrizados foi aprimorado no JUnit 5 com fontes de dados mais flexíveis.
Exemplo de um teste simples no JUnit 5:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class CalculatorTest {
@Test
void addition() {
assertEquals(2, 1 + 1);
}
}
O JUnit 5 é mais moderno e flexível, recomendado para novos projetos, mas o JUnit 4 ainda é amplamente utilizado e suportado.