Junit Assert y AssertEquals con ejemplo

¿Qué es Junit Assert?

Assert es un método útil para determinar el estado de Aprobado o Reprobado de un caso de prueba. Los métodos de afirmación son proporcionados por la clase org.junit.Assert que extiende la clase java.lang.Object.

Hay varios tipos de afirmaciones como booleanas, nulas, idénticas, etc.

Junit proporciona una clase llamada Assert, que proporciona un conjunto de métodos de afirmación útiles para escribir casos de prueba y detectar fallas en las pruebas.

Los métodos de afirmación son proporcionados por la clase. org.junit.Afirmar que se extiende java.lang.Object clase.

JUnit Afirmar métodos

Boolean

Si desea probar las condiciones booleanas (verdadero o falso), puede utilizar los siguientes métodos de afirmación

  1. asertTrue (condición)
  2. 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:

  1. afirmarNulo(objeto)
  2. afirmarNoNull(objeto)

Aquí el objeto es Java objeto por ejemplo: documentación que demuestre copropiedad de bienes, residencia compartida, recursos económicos combinados, declaraciones juradas de personas que lo conocen y que puedan dar fe de su relación y vida compartida, Decretos o certificados de adopción, Constancia de custodia legal de un niño adoptado durante un período de dos años afirmarNull(real);

Idéntico

Si desea comprobar si los objetos son idénticos (es decir, comparar dos referencias al mismo objeto Java) o diferentes.

  1. afirmarMismo (esperado, real), Volverá verdadero si esperado == real
  2. afirmarNotSame (esperado, real)

Afirmar es igual

Si desea probar la igualdad de dos objetos, tiene los siguientes métodos

  • afirmarEquals(esperado, real)

Devolverá verdadero si: esperado.igual (real) devuelve verdadero

Afirmar que la matriz es igual

Si desea probar la igualdad de matrices, tiene los siguientes métodos que se detallan a continuación:

  • afirmarArrayEquals(esperado, real)

El método anterior debe usarse si las matrices tienen la misma longitud, para cada valor válido para i, puede comprobarlo como se indica a continuación:

  • afirmarEquals(esperado[i],actual[i])
  • afirmarArrayEquals(esperado[i],actual[i])

Mensaje de error

Si desea arrojar algún error de afirmación, tiene fallar() eso siempre resulta en un veredicto fallido.

  • Fallar(mensaje);

Puede 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 afirmación falla. P.ej. fallar (mensaje) Se puede escribir como

  • afirmarEquals( mensaje, esperado, real)

JUnit asertEquals

Tiene afirmarEquals(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 Objeto clase, obtendrá el comportamiento predeterminado de 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, Boolean, etc.), y luego a.es igual a (b) será evaluado.

Por ejemplo: considere las cadenas mencionadas a continuación que tienen los mismos valores, probémoslo usando afirmarTrue

String obj1="Junit";
String obj2="Junit";
assertEquals(obj1,obj2);

La declaración de aserción anterior devolverá verdadero ya que obj1.equals(obj2) devuelve verdadero.

Afirmaciones de punto flotante

Cuando desee comparar tipos de coma flotante (p. ej. doble or flotar), necesita un parámetro requerido adicional delta para evitar problemas con errores de redondeo al realizar comparaciones de punto flotante.

La afirmación se evalúa como se indica a continuación:

  • Math.abs( esperado – real ) <= delta

Por ejemplo:

afirmarEquals( aDoubleValor, otroDoubleValor, 0.001)

JUnit Ejemplo de afirmación

El siguiente ejemplo demuestra cómo afirmar una condición usando JUnit afirmar métodos.

Creemos una clase de prueba simple llamada Prueba de aserción Junit4.java y una clase de corredor de pruebas PruebaRunner.java.

Creará algunas variables y declaraciones de afirmación importantes en JUnit.

En este ejemplo, ejecutará nuestra clase de prueba usando TestRunner.java.

Paso 1) Creemos una clase que cubra todos los métodos de declaración de afirmación importantes 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) Necesita 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:

Considere todas las afirmaciones una por una:

  1. afirmarEquals(cadena1,cadena2);

Ahora compare string1=” Junit” con string2=” Junit” con el método equals de la clase de objeto. Reemplace el método assertEquals del método java.lang.Object.equals():

string1.equals(string2)=> devuelve verdadero

Entonces afirmarEquals(cadena1,cadena2) devolverá su verdadero.

  1. afirmarSame(cadena3, cadena4);

La funcionalidad “assertSame()” es verificar que los dos objetos se refieren al mismo objeto.

Dado que string3=”test” y string4=”test” significa que string3 y string4 son del mismo tipo, afirmarSame(string3, string4) devolverá su verdadero.

  1. afirmarNotSame(cadena1, cadena3);

La funcionalidad “assertNotSame()” es comprobar que los dos objetos no se refieren al mismo objeto.

Dado que string1=”Junit” y string3=”test” significa que tanto string1 como string3 son de tipos diferentes, assertNotSame(string1, string3) devolverá su verdadero.

  1. afirmarNotNull(cadena1);

La funcionalidad “assertNotNull()” es verificar que un objeto no sea nulo.

Dado que string1= “Junit”, que es un valor no nulo, assertNotNull(string1) devolverá su verdadero.

  1. afirmarNulo(cadena5);

La funcionalidad “assertNull()” es comprobar que un objeto es nulo.

Dado que string5 = null, que es un valor nulo, afirmarNull(string5) devolverá su verdadero.

  1. afirmarVerdadero(variable1<variable2);

La funcionalidad “assertTrue()” es verificar que una condición sea verdadera.

Dado que variable1 = 1 y variable2 = 2, lo que muestra que la condición variable1 <variable2 es verdadera, afirmarTrue (variable1 <variable2) devolverá su verdadero.

  1. afirmarArrayEquals(airethematicArrary1, airethematicArrary2);

La funcionalidad “assertArrayEquals()” es verificar que la matriz esperada y la matriz resultante sean iguales. El tipo de matriz puede ser int, long, short, char, byte o java.lang.Object.

Dado que airethematicArrary1 = { 1, 2, 3 } y airethematicArrary2 = { 1, 2, 3 }, lo que muestra que ambas matrices son iguales, afirmarArrayEquals(airethematicArrary1, airethematicArrary2) devolverá su verdadero

Dado que los siete afirman declaraciones de Prueba de aserción Junit4.java La clase devuelve verdadero, por lo tanto, cuando ejecuta la clase de afirmación de prueba, devolverá una prueba exitosa. (ver el resultado a continuación)

Paso 4) Haga clic derecho en Junit4AssertionTest.java y haga clic en runAs->JUnit. Verá el resultado como se indica a continuación:

JUnit Ejemplo de afirmación

El resultado anterior muestra un resultado de prueba exitoso como se esperaba.

Resumen

En este tutorial, aprendió todos los tipos importantes de métodos de aserción proporcionados por JUnit. Además, ha visto los ejemplos de declaraciones de afirmación. Lo que muestra que si todas las declaraciones de afirmación devuelven verdadero, entonces la GUI de prueba devolverá un resultado verdadero y si la prueba única falla, devolverá un resultado fallido.