En el desarrollo de software, la prueba unitaria es un proceso que aísla y prueba secciones dedicadas de una aplicación. Las unidades son el término formal para estas secciones dedicadas. En su aplicación Java, una unidad es un método.
Hay muchos marcos de pruebas unitarias disponibles para los desarrolladores de Java. Entre los mejores marcos se encuentra JUnit 5.
¿Por qué son importantes las pruebas unitarias?
Si alguna vez ha escrito declaraciones de depuración para imprimir y verificar el valor de una variable, felicidades; ha creado una prueba unitaria. Esta sección de código desechable era necesaria porque no estaba recibiendo el resultado deseado.
Pero, ¿qué sucede si recibe el resultado deseado y el código aún contiene un error en alguna parte? Puede implementar la aplicación y este error podría provocar una violación de la seguridad más adelante. Para las aplicaciones que almacenan datos de usuarios, hay mucho en juego cuando hay una brecha de seguridad.
Las pruebas unitarias se enfocan en cada sección de su aplicación, ya sea que esté causando un error o no. Por lo tanto, las pruebas unitarias juegan un papel importante en
buena seguridad de software.¿Qué es JUnit 5?
JUnit 5 es más que otro marco de prueba de unidad. Tiene varios subproyectos, a saber, JUnit Platform, JUnit Jupiter y JUnit Vintage. Cada uno de estos tres componentes tiene módulos únicos que funcionan juntos para mejorar las pruebas para los programadores de Java.
La plataforma JUnit 5 está disponible en las últimas versiones de las principales plataformas de desarrollo integradas (IDE) de Java. Los IDE de Java que admiten JUnit 5 son:
- IDEA IntelliJ
- Eclipse
- NetBeans
- código de estudio visual
Creación de pruebas unitarias con JUnit 5
Este programa de muestra usa JUnit 5 para crear varias pruebas unitarias en una aplicación de calculadora simple.
La clase de calculadora
paquete aplicación;
públicoclaseCalculadora{
públicoestáticoEn tagregar(En t número1, En t número2){
devolver num1 + num2;
}públicoestáticoEn tsustraer(En t número1, En t número2){
devolver número1 - número2;
}públicoestáticoEn tmultiplicar(En t número1, En t número2){
devolver num1 * num2;
}
públicoestáticoEn tdividir(En t número1, En t número2){
devolver num1 / num2;
}
}
los clase Java anterior realiza cuatro operaciones estáticas: suma, resta, multiplicación y división. Cada método toma dos argumentos enteros y devuelve un único valor entero.
La clase de prueba JUnit 5
paquete prueba;
importarestático org.junit. Afirmar.*;
importar aplicación Calculadora;
importarorganización.junit.Prueba;públicoclaseCalculadoraPrueba{
@Prueba
públicovacíopruebaAñadir(){
afirmarIgual(7, Calculadora.agregar(3, 4));
}@Prueba
públicovacíopruebaRestar(){
afirmarIgual(6, Calculadora.sustraer(9, 3));
}@Prueba
públicovacíoprobarMultiplicar(){
afirmarIgual(10, Calculadora.multiplicar(5, 2));
}
@Prueba
públicovacíopruebadivide(){
afirmarIgual(2, Calculadora.dividir(4, 2));
}
}
CalculadoraPrueba introduce dos conceptos importantes: la @Prueba anotación y la afirmarEquals() método. La anotación @Test indica que el método directamente debajo de ella es un método de prueba. En la clase de prueba anterior hay cuatro métodos de prueba, uno para cada una de las operaciones de la calculadora.
Todos los métodos de prueba usan el método assertEquals(). Este método toma dos argumentos obligatorios y un tercer argumento opcional. El primer argumento dado al método assertEquals() anterior es el resultado esperado, y el segundo argumento es el método (o unidad) que desea evaluar.
La clase CalculatorTest no tiene un método principal, pero las anotaciones JUnit @Test hacen que cada uno de los métodos de prueba sea ejecutable. Ejecutar la clase CalculatorTest en eclipse produce la siguiente interfaz:
Como puede ver, cada prueba es exitosa. Hay cuatro pruebas, y todas se ejecutaron sin errores ni fallas.
Las pruebas de unidades de aprendizaje pueden ampliar sus oportunidades profesionales
Como desarrollador, saber cómo probar software es una habilidad ventajosa. Sin duda, mejorará su flujo de trabajo y, con suerte, hará que su código sea más fácil de usar para otros. Sin embargo, existe una rama del desarrollo de software que se enfoca únicamente en las pruebas. Estos ingenieros son conocidos como probadores de software.