Genere casos de prueba de Junit usando la API de Randoop en Java

Aquí discutiremos cómo generar casos de prueba de Junit usando Randoop junto con ilustraciones de muestra e instantáneas de las instancias actuales. Básicamente, en Desarrollo Si hablamos de casos de prueba, entonces cada desarrollador tiene que escribir casos de prueba manualmente. Lo cual se cuenta en el esfuerzo de desarrollo y también aumenta el tiempo del proyecto y la estimación de costos. Entonces, podemos reducir el tiempo necesario para escribir los casos de prueba con la ayuda de algunas API. Uno de los cuales es Randoop . Java y Randoop son requisitos previos antes de seguir adelante. Se requiere conocimiento fundamental para generar los casos de prueba usando randoop, necesita conocer los conceptos básicos de Junit para verificar los resultados.

Funcionamiento de Randoop: Randoop crea automáticamente pruebas Junit para sus clases. Es un generador de pruebas unitarias para Java. Randoop genera pruebas unitarias mediante la generación de pruebas aleatorias dirigidas por retroalimentación. Esta técnica genera de forma pseudoaleatoria, pero inteligente, secuencias de invocaciones de métodos/constructores para las clases bajo prueba. 

Randoop generalmente genera dos tipos de casos de prueba:

  • Pruebas que revelan errores que detectan errores en su código actual.
  • Pruebas de regresión que se pueden usar para detectar los errores futuros.

Ejecución de Randoop: Ahora tiene el jar descargado en su máquina. Para ejecutarlo, debe llamar al método principal de Randoop como randoop.main.Main

Paso 1: Primero debe configurar la variable de entorno de randoop-all-4.2.6.jar y .

Paso 2: después de configurar la terminal abierta variable y escriba la línea que se indica a continuación y si todo está configurado correctamente, la salida será así.

java -classpath %RANDOOP_JAR% randoop.main.Main gentests --help

Paso 3: ahora, genere casos de prueba para el archivo java ( -testclass)

  • Cree un archivo java de muestra para generar casos de prueba.
  • En este ejemplo, usamos la opción –testclass que se usa para probar un archivo de una sola clase.

Ejemplo

Java

public class Message {
   private String message;
  
   public Message(String message){
      this.message = message;
   }   
   public String printMessage(){
      System.out.println(message);
      return message;
   }   
}

Paso 4: Compile usando javac Message.java y generará el archivo Message.class que usará randoop para generar los casos de prueba.

Paso 5: Ahora abra la terminal/cmd y escriba el comando como este:

Sintaxis:

java -classpath <ubicación del archivo de clase>;<ubicación donde se encuentra el archivo jar> randoop-all-4.2.x randoop.main.Main gentests –testclass=<Nombre del archivo de clase> 

Ejemplo:

java -classpath C:\Users\public\Downloads\testbin;%RANDOOP_JAR% randoop.main.Main gentests --testclass=Message

Después de ejecutar este comando, todos los posibles casos de prueba del archivo Message.class se enumerarán en los nuevos archivos Java generados por Randoop llamados RegressionTest0, RegressionTest0.

Generate Test cases for java files (--classlist)

Implementación: en este ejemplo, vamos a generar casos de prueba para la lista de archivos de clase que se escribe en un archivo de texto simple y proporcionamos ese archivo de texto como entrada para randoop. 

Sintaxis :

java -classpath <ubicación donde se encuentra el archivo jar> randoop-all-4.2.x randoop.main.Main gentests –classlist=<ubicación del archivo>

Ejemplo:

java -classpath %RANDOOP_JAR% randoop.main.Main gentests --classlist=C:\User\test1.txt

Producción:

A estas alturas, hemos terminado de generar casos de prueba de Junit utilizando la API de Randoop, que era nuestro objetivo. Todavía se enumeran algunos conjuntos útiles de operaciones en el formato tabular a continuación para obtener una fortaleza sobre la API de Randoop. Son los siguientes:

Operación Acción realizada
–testjar=<nombre de archivo> [+] Un archivo jar, todas cuyas clases deben probarse
–classlist=<nombre de archivo> El archivo que enumera las clases bajo prueba
–omit-classes=<regex> [+] No pruebe clases que coincidan con la expresión regular <string>
–omit-classes-file=<nombre de archivo> [+] El archivo que contiene expresiones regulares para los métodos a omitir
–testclass=<string> [+] El nombre binario de una clase bajo prueba
–methodlist=<nombre de archivo> El archivo que enumera los métodos bajo prueba
–omit-methods=<regex> [+] No llamar a métodos que coincidan con la expresión regular <string>
–omit-methods-file=<nombre de archivo> [+] Archivo que contiene expresiones regulares para métodos a omitir
–omit-field=<string> [+]  Omitir campo de las pruebas generadas
–omit-field-file=<nombre de archivo> Archivo que contiene nombres de campo para omitir de las pruebas generadas
–only-test-public-members=<booleano> Usar solo miembros públicos en las pruebas [falso predeterminado]
–silently-ignore-bad-class-names=<booleano> Ignorar los nombres de clase especificados por el usuario que no se pueden encontrar [falso predeterminado]
–flaky-test-behavior=<enumeración> Qué hacer si se genera una prueba escamosa [SALIDA predeterminada]
–nondeterministic-methods-to-output=<int> Número de métodos no deterministas sospechosos para imprimir [predeterminado 10]

Publicación traducida automáticamente

Artículo escrito por shubhamp338 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *