Saltar al contenido

Junit Assert & AssertEquals con el ejemplo

¿Qué es Junit Assert?

Assert es un método que es útil para determinar el estado de Pasa o No Pasa de un caso de prueba. La clase org.junit.Assert proporciona los métodos de confirmación que amplían la clase java.lang.Object.

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

Junit proporciona una clase llamada Assert, que proporciona un puñado de métodos asertivos que son útiles para escribir casos de prueba y detectar fallas en las pruebas.

La clase proporciona los métodos de afirmación. org.junit.Assert extensión java.lang.Object sonó.

En este tutorial, aprenderá:

Métodos de garantía JUnit

Booleano

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

  1. asertTrue (condición)
  2. aseverarFalso (condición)

Este es el valor de boolean.

Algo inmundo

Si desea verificar el valor inicial de un objeto / variable, tiene los siguientes métodos:

  1. asertNull (objeto)
  2. asertNotNull (objeto)

Este es un objeto Java objeto p.ej. asertNull (actual);

Igual

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

  1. asertSame (esperado, real), Volverá verdadero si esperar == real
  2. asertNotSame (esperado, real)

Declarar igual

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

Devolverá verdadero si: expectativas.equals (real) retornos reales.

Confirmar matriz igual

Si desea probar la uniformidad de la matriz, tiene los siguientes métodos que se indican a continuación:

El método anterior debe usarse si las matrices tienen la misma longitud, para todos los valores válidos para I, puede comprobarlo como se indica a continuación:

Mensaje de falla

Si desea emitir algún error de aserción, debe teip () esto siempre resulta en un veredicto de falla.

Puede tener un método de confirmación con uno adicional Cuerda parámetro como el primer parámetro. Este cable se adjuntará al mensaje de error si falla la declaración. P.ej error (mensaje) Se puede escribir como

JUnitEquals confirma

Tu tienes _ declaraciones (a, b) que depende de la igual () Método de clase de objetos.

Ambas cosas a y B es mar primitivo la medida, En t, booleanoetc. entonces se hará lo siguiente para las declaraciones (a, b):

a y B se convertirán en un tipo de objeto de carpeta equivalente (Medida, entero, Booleano, etc.), y luego igual a (b) será evaluado.

Por ejemplo: considere las siguientes cadenas que tienen los mismos valores, probémoslo usando assertTrue


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

La declaración afirmativa anterior se volverá verdadera como lo hacen las objeciones (objeción 2).

Declaraciones flotantes

Cuando desee comparar tipos de flotadores (p. Ej. doble o flotador), necesita un parámetro obligatorio adicional delta para evitar problemas con errores de redondeo al realizar comparaciones flotantes.

La declaración se evalúa de la siguiente manera:

Por ejemplo:

asertEquals (aDoubleValue, anotherDoubleValue, 0.001)

Ejemplo de garantía de JUnit

El siguiente ejemplo muestra cómo confirmar una condición mediante los métodos de confirmación de JUnit.

Creamos una clase de prueba simple llamada Junit4AssertionTest.java y clase de corredor de prueba TestRunner.java.

No creará muchas variables y afirmaciones importantes en JUnit.

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

Paso 1) Una clase que cubre todos los métodos importantes crea declaraciones afirmativas en junit:

Junit4AssertionTest.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) Debe crear una clase de corredor de prueba para desempeñarse por encima de la clase:

TestRunner.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 la producción potencial paso a paso:

Considere cada declaración de fiabilidad una por una:

  1. asertEquals (cadena1, cadena 2);

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

string1.equals (string2) => devoluciones verdaderas

Así que assertEquals devuelve (string1, string2) cierto.

  1. asertSame (cadena3, cadena4);

La funcionalidad de «assertSame ()» es comprobar que ambos objetos se refieren al mismo objeto.

Dado que string3 = «test» y string4 = «test» significan que string3 y string4 son similares y assertSame (string3, string4) devolverá cierto.

  1. asertNotSame (cadena1, cadena3);

La funcionalidad de «assertNotSame ()» es verificar que ambos objetos no se refieran al mismo objeto.

Como string1 = «Junit» y string3 = «test» significan que los tipos 1 y string3 son tipos diferentes, por lo que assertNotSame (string1, string3) devolverá cierto.

  1. asertNotNull (cadena 1);

La funcionalidad de «assertNotNull ()» es verificar que un objeto no sea nulo.

Dado que string1 = «Junit» devuelve un valor no nulo, assertNotNull (string1) devuelve cierto.

  1. asertNull (cadena5);

La funcionalidad de «assertNull ()» es verificar que un objeto sea nulo.

Dado que string5 = null es un valor nulo, assertNull (string5) devolverá cierto.

  1. asertTrue (variable1)

La funcionalidad de «assertTrue ()» es verificar que una condición sea verdadera.

Dado que variable1 = 1 y variable2 = 2, indica que la condición es variable1 cierto.

  1. asertArrayEquals (airethematicArrary1, airethematicArrary2);

La funcionalidad de «assertArrayEquals ()» es verificar que la matriz esperada y la matriz resultante estén equilibradas. El tipo de edición puede ser int, long, short, char, byte o java.lang.Object.

Dado que airethematicArrary1 = {1, 2, 3} y airethematicArrary2 = {1, 2, 3} mostrarán que ambos arreglos son idénticos, por lo que DearArrayEquals (airethematicArrary1, airethematicArrary2) devolverá cierto

Dado que las siete declaraciones afirmativas de Junit4AssertionTest.java los resultados de la clase son verdaderos, por lo que cuando tome la clase de confirmación de la prueba, devolverá una prueba exitosa. (ver salida a continuación)

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

La salida anterior muestra el resultado de éxito de la prueba como se esperaba.

Resumen:

En este tutorial, aprendió todo tipo de métodos de garantía importantes que proporciona JUnit. Además, vio los ejemplos de declaraciones afirmativas. Lo que muestra que si cada declaración de confirmación devuelve verdadera, la GUI de la prueba devolverá un resultado verdadero y si la prueba individual falla, devolverá un resultado fallido.