TestNG - Ausnahmetest
TestNG bietet eine Option zum Nachverfolgen der Ausnahmebehandlung von Code. Sie können testen, ob ein Code eine gewünschte Ausnahme auslöst oder nicht. Hier dasexpectedExceptionsDer Parameter wird zusammen mit der Annotation @Test verwendet. Nun wollen wir mal sehen@Test(expectedExceptions) in Aktion.
Erstellen Sie eine Klasse
Erstellen Sie eine zu testende Java-Klasse, z. MessageUtil.java im C:\> TestNG_WORKSPACE. Fügen Sie eine Fehlerbedingung in die printMessage () -Methode ein.
/*
* 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 void printMessage() {
System.out.println(message);
int a =0;
int b = 1/a;
}
// add "Hi!" to the message
public String salutationMessage() {
message = "Hi!" + message;
System.out.println(message);
return message;
}
}
Erstellen Sie eine Testfallklasse
Erstellen Sie eine Java-Testklasse, z. ExpectedExceptionTest.java.
Fügen Sie dem Testfall testPrintMessage () eine erwartete Ausnahme ArithmeticException hinzu.
Erstellen Sie eine Java-Klassendatei mit dem Namen ExpectedExceptionTest.java im C:\> TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class ExpectedExceptionTest {
String message = "Manisha";
MessageUtil messageUtil = new MessageUtil(message);
@Test(expectedExceptions = ArithmeticException.class)
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
messageUtil.printMessage();
}
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Manisha";
Assert.assertEquals(message,messageUtil.salutationMessage());
}
}
Erstellen Sie einen Testläufer
Erstellen Sie testng.xml in C:\>TestNG_WORKSPACE Testfälle ausführen.
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name = "Suite1">
<test name = "test1">
<classes>
<class name = "ExpectedExceptionTest" />
</classes>
</test>
</suite>
Kompilieren Sie die MessageUtil, Testfallklassen mit javac.
C:\TestNG_WORKSPACE>javac MessageUtil.java TestJunit.java
Führen Sie nun den Test Runner aus, der Testfälle ausführt, die in der bereitgestellten Testfallklasse definiert sind.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Überprüfen Sie die Ausgabe. Der Testfall testPrintMessage () wird übergeben.
Inside testPrintMessage()
Manisha
Inside testSalutationMessage()
Hi!Manisha
===============================================
Suite1
Total tests run: 2, Failures: 0, Skips: 0
===============================================