Junit Assert y AssertEquals con ejemplo
⚡ Resumen inteligente
JUnit Los métodos `assert` y `assertEquals` determinan si una prueba ha superado o fallado comparando los valores esperados con los reales. Este recurso explica los métodos `assert` que proporciona `org.junit.Assert`, incluyendo aserciones booleanas, de nulidad, de identidad, de igualdad y de matrices, con un ejemplo práctico completo.

¿Qué es Junit Assert?
`assert` es un método útil para determinar si una prueba se ha superado o no. Los métodos `assert` los proporciona la clase `org.junit.Assert`, que extiende la clase `java.lang.Object`.
Existen varios tipos de aserciones, como booleanas, nulas, idénticas, etc.
JUnit Proporciona una clase llamada Assert, que ofrece una serie de métodos de aserción útiles para escribir casos de prueba y detectar fallos en las pruebas.
Los métodos de afirmación son proporcionados por la clase. org.junit.Afirmar, que extiende el java.lang.Object clase.
JUnit Afirmar métodos
Boolean
Si desea comprobar las condiciones booleanas (verdadero o falso), puede utilizar los siguientes métodos de aserción:
- asertTrue (condición)
- aseverarFalso (condición)
Aquí la condición es un valor booleano.
Objeto nulo
Si desea comprobar el valor inicial de un objeto/variable, tiene los siguientes métodos:
- afirmarNulo(objeto)
- afirmarNoNull(objeto)
Aquí el objeto es un Java objeto, p.ej. afirmarNull(real);
Idéntico
Si desea comprobar si los objetos son idénticos (es decir, comparando dos referencias al mismo objeto) Java objeto) o diferente:
- assertSame(esperado, real) — Devolverá verdadero si esperado == real.
- afirmarNotSame (esperado, real)
Afirmar es igual
Si quieres comprobar la igualdad de dos objetos, tienes el siguiente método:
- afirmarEquals(esperado, real)
Volverá verdadero si esperado.igual a(real) devuelve verdadero
Afirmar que la matriz es igual
Si quieres comprobar la igualdad de matrices, tienes el siguiente método:
- afirmarArrayEquals(esperado, real)
El método anterior debe usarse si los arreglos tienen la misma longitud. Para cada valor válido para i, puede comprobarlo como se indica a continuación:
- assertEquals(expected[i], actual[i])
- assertArrayEquals(expected[i], actual[i])
Mensaje de error
Si desea arrojar algún error de afirmación, tiene fallar(), lo que siempre resulta en un veredicto de fracaso.
- fallar(mensaje);
Puedes tener un método de aserción con un adicional Cordón parámetro como primer parámetro. Esta cadena se agregará al mensaje de error si la aserción falla. Por ejemplo, fallar(mensaje) Se puede escribir como:
- assertEquals(mensaje, esperado, real)
JUnit asertEquals
Tiene afirmarIgual(a, b), que se basa en el es igual a () método de la clase Objeto.
- Aquí será evaluado como a.es igual a (b).
- Aquí la clase bajo prueba se utiliza para determinar una relación de igualdad adecuada.
- Si una clase no anula la es igual a () método de la Objeto clase, obtendrá el comportamiento predeterminado de la es igual a () método, es decir, identidad del objeto.
If a y b son primitivos como byte, int, booleano, etc., entonces se hará lo siguiente para assertEquals(a, b):
a y b se convertirán a su tipo de objeto contenedor equivalente (Byte, Entero, Booleano, etc.), y luego a.es igual a (b) será evaluado.
Por ejemplo, consideremos las siguientes cadenas que tienen los mismos valores; comprobémoslo usando assertEquals:
String obj1 = "Junit"; String obj2 = "Junit"; assertEquals(obj1, obj2);
La instrucción assert anterior devolverá verdadero ya que obj1.equals(obj2) devuelve verdadero.
Afirmaciones de punto flotante
Cuando quieras comparar tipos de punto flotante (por ejemplo, doble or flotar), necesitas un parámetro adicional obligatorio, deltapara evitar problemas con errores de redondeo al realizar comparaciones de punto flotante.
La afirmación se evalúa como se indica a continuación:
- Matemáticas.abs(esperado – real) <= delta
Por ejemplo:
afirmarIgual(aDoubleValor, otroDoubleValor, 0.001)
JUnit Ejemplo de afirmación
El siguiente ejemplo demuestra cómo afirmar una condición usando JUnit afirmar métodos.
Vamos a crear una clase de prueba simple llamada Prueba de aserción Junit4.java y una clase de corredor de pruebas PruebaRunner.java.
Crearás algunas variables y declaraciones de aserción importantes en JUnit.
En este ejemplo, ejecutará nuestra clase de prueba utilizando TestRunner.java.
Paso 1) Vamos a crear una clase que cubra todos los métodos importantes de la declaración assert en JUnit:
Prueba de aserción Junit4.java
package guru99.junit; import static org.junit.Assert.*; import org.junit.Test; public class Junit4AssertionTest { @Test public void testAssert() { // Variable declaration String string1 = "Junit"; String string2 = "Junit"; String string3 = "test"; String string4 = "test"; String string5 = null; int variable1 = 1; int variable2 = 2; int[] airethematicArrary1 = { 1, 2, 3 }; int[] airethematicArrary2 = { 1, 2, 3 }; // Assert statements assertEquals(string1, string2); assertSame(string3, string4); assertNotSame(string1, string3); assertNotNull(string1); assertNull(string5); assertTrue(variable1 < variable2); assertArrayEquals(airethematicArrary1, airethematicArrary2); } }
Paso 2) Necesitas crear una clase de ejecución de pruebas para ejecutar la clase anterior:
PruebaRunner.java
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(Junit4AssertionTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result==" + result.wasSuccessful()); } }
Paso 3) Analicemos el resultado esperado paso a paso. Consideremos todas las sentencias assert una por una:
- assertEquals(cadena1, cadena2);
Ahora compare string1="Junit" con string2="Junit" usando el método equals de la clase Object. Reemplace el método assertEquals con el método java.lang.Object.equals():
string1.equals(string2) => devuelve verdadero
Entonces assertEquals(string1, string2) devolverá su verdadero.
- afirmarSame(cadena3, cadena4);
La funcionalidad “assertSame()” sirve para comprobar que los dos objetos se refieren al mismo objeto. Dado que string3=”test” y string4=”test”, tanto string3 como string4 son del mismo tipo, por lo que assertSame(string3, string4) devolverá su verdadero.
- afirmarNotSame(cadena1, cadena3);
La funcionalidad “assertNotSame()” sirve para comprobar que los dos objetos no se refieren al mismo objeto. Dado que string1=”Junit” y string3=”test”, tanto string1 como string3 son de tipos diferentes, por lo que assertNotSame(string1, string3) devolverá su verdadero.
- afirmarNotNull(cadena1);
La funcionalidad “assertNotNull()” sirve para comprobar que un objeto no es nulo. Dado que string1=”Junit”, que es un valor no nulo, assertNotNull(string1) devolverá su verdadero.
- afirmarNulo(cadena5);
La funcionalidad “assertNull()” sirve para comprobar que un objeto es nulo. Dado que string5=null, que es un valor nulo, assertNull(string5) devolverá su verdadero.
- assertTrue(variable1 < variable2);
La funcionalidad “assertTrue()” sirve para comprobar que una condición es verdadera. Dado que variable1=1 y variable2=2, lo que demuestra que la condición variable1 < variable2 es verdadera, assertTrue(variable1 < variable2) devolverá su verdadero.
- afirmarArrayEquals(airethematicArrary1, airethematicArrary2);
La funcionalidad “assertArrayEquals()” sirve para comprobar que el array esperado y el array resultante sean iguales. El tipo de array puede ser int, long, short, char, byte o java.lang.Object. Dado que airethematicArrary1 = { 1, 2, 3 } y airethematicArrary2 = { 1, 2, 3 }, lo que demuestra que ambos arrays son iguales, assertArrayEquals(airethematicArrary1, airethematicArrary2) devolverá su verdadero.
Dado que las siete afirmaciones de la Prueba de aserción Junit4.java La clase devuelve verdadero, cuando ejecute la prueba assert de la clase, devolverá una prueba exitosa (vea la salida a continuación).
Paso 4) Haga clic con el botón derecho en Junit4AssertionTest.java y haga clic en Ejecutar como -> JUnit. Verá el resultado como se indica a continuación:
El resultado anterior muestra que la prueba se realizó correctamente, tal como se esperaba.




