TestNG - Prueba de suite
UN test suitees una colección de casos de prueba destinados a probar un comportamiento o un conjunto de comportamientos de un programa de software. En TestNG, no podemos definir una suite al probar el código fuente, pero está representada por un archivo XML, ya que la suite es la característica de ejecución. También permite ejecutar una configuración flexible de las pruebas . Una suite puede contener una o más pruebas y está definida por la etiqueta <suite>.
<suite> es la etiqueta raíz de su testng.xml. Describe un conjunto de pruebas, que a su vez se compone de varias secciones <test>.
La siguiente tabla enumera todos los atributos legales que acepta <suite>.
No Señor. | Atributo y descripción |
---|---|
1 | name El nombre de esta suite. Es unmandatory atributo. |
2 | verbose El nivel o la verbosidad de esta ejecución. |
3 | parallel Si TestNG debe ejecutar diferentes subprocesos para ejecutar esta suite. |
4 | thread-count La cantidad de subprocesos que se utilizarán, si el modo paralelo está habilitado (ignorado de otra manera). |
5 | annotations El tipo de anotaciones que está utilizando en sus pruebas. |
6 | time-out El tiempo de espera predeterminado que se utilizará en todos los métodos de prueba que se encuentran en esta prueba. |
En este capítulo, le mostraremos un ejemplo que tiene dos clases de prueba, Test1 y Test2, para ejecutarse juntas usando Test Suite.
Crear una clase
Cree una clase de Java para probar, digamos, MessageUtil.java en C:\>JUNIT_WORKSPACE.
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
// Constructor
// @param message to be printed
public MessageUtil(String message) {
this.message = message;
}
// prints the message
public String printMessage() {
System.out.println(message);
return message;
}
// add "Hi!" to the message
public String salutationMessage() {
message = "Hi!" + message;
System.out.println(message);
return message;
}
}
Crear clases de casos de prueba
Cree un archivo de clase java llamado Test1.java en C:\>TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class Test1 {
String message = "Manisha";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
Assert.assertEquals(message, messageUtil.printMessage());
}
}
Cree un archivo de clase java llamado Test2.java en C:\>TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class Test2 {
String message = "Manisha";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Manisha";
Assert.assertEquals(message,messageUtil.salutationMessage());
}
}
Ahora, escribamos testng.xml en C:\>TestNG_WORKSPACE, que contendría la etiqueta <suite> de la siguiente manera:
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name = "Suite1">
<test name = "exampletest1">
<classes>
<class name = "Test1" />
</classes>
</test>
<test name = "exampletest2">
<classes>
<class name = "Test2" />
</classes>
</test>
</suite>
Suite1 incluye exampletest1 y exampletest2.
Compile todas las clases de Java usando javac.
C:\TestNG_WORKSPACE>javac MessageUtil.java Test1.java Test2.java
Ahora, ejecute testng.xml, que ejecutará el caso de prueba definido en la clase de Caso de prueba proporcionada.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Verifique la salida.
Inside testPrintMessage()
Manisha
Inside testSalutationMessage()
Hi!Manisha
===============================================
Suite1
Total tests run: 2, Failures: 0, Skips: 0
===============================================
También puede consultar la carpeta de salida de prueba . En la carpeta Suite1 , puede ver dos archivos html creados, exampletest1.html y exampletest2.html, que se verían de la siguiente manera: