TestNG - Esecuzione di test
I casi di test vengono eseguiti utilizzando TestNGclasse. Questa classe è il punto di ingresso principale per l'esecuzione di test nel framework TestNG. Gli utenti possono creare il proprio oggetto TestNG e invocarlo in molti modi diversi, ad esempio:
Su un file testng.xml esistente.
Su un testng.xml sintetico, creato interamente da Java.
Impostando direttamente le classi di test.
È inoltre possibile definire quali gruppi includere o escludere, assegnare parametri, ecc. I parametri della riga di comando sono:
-d diroutput: specifica la directory di output.
-testclass nome_classe: specifica uno o più nomi di classi.
-testjar jar_name: specifica il jar contenente i test.
-sourcedir src1; src2:; elenco separato di directory di origine (utilizzato solo quando vengono utilizzate le annotazioni javadoc).
-target
-groups
-testrunfactory
-listener
Creeremo l'oggetto TestNG un testng.xml esistente nel nostro esempio di seguito.
Crea una classe
Crea una classe java da testare, diciamo, MessageUtil.java in C:\>TestNG_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;
}
}
Crea classe test case
Crea una classe di prova java, diciamo, SampleTest.java.
Aggiungi un metodo di test testPrintMessage () alla tua classe di test.
Aggiungi un'annotazione @Test al metodo testPrintMessage ().
Implementa la condizione di test e verifica la condizione utilizzando l'API assertEquals di TestNG.
Crea un file di classe java chiamato SampleTest.java in C:\>TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
Assert.assertEquals(message, messageUtil.printMessage());
}
}
Crea testng.xml
Quindi, creiamo il file testng.xml in C:\>TestNG_WORKSPACE, per eseguire uno o più casi di test. Questo file acquisisce l'intero test in XML. Questo file semplifica la descrizione di tutte le suite di test e dei relativi parametri in un unico file, che puoi controllare nel tuo repository di codice o inviare un'e-mail ai colleghi. Inoltre semplifica l'estrazione di sottoinsiemi dei test o la divisione di diverse configurazioni di runtime (ad esempio, testngdatabase.xml eseguirà solo test che esercitano il database).
<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Sample test Suite">
<test name = "Sample test">
<classes>
<class name = "SampleTest" />
</classes>
</test>
</suite>
Compila il test case usando javac.
C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java
Ora, esegui testng.xml, che eseguirà il test case definito nel tag <test>.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Verifica l'output.
Hello World
===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================