TestNG - Teste de Exceção
TestNG fornece uma opção de rastrear a manipulação de exceção do código. Você pode testar se um código lança uma exceção desejada ou não. Aqui oexpectedExceptionsparâmetro é usado junto com a anotação @Test. Agora vamos ver@Test(expectedExceptions) em ação.
Criar uma aula
Crie uma classe java a ser testada, digamos, MessageUtil.java dentro C:\> TestNG_WORKSPACE. Adicione uma condição de erro dentro do método printMessage ().
/*
* 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;
}
}
Criar classe de caso de teste
Crie uma classe de teste java, digamos, ExpectedExceptionTest.java.
Adicione uma exceção esperada ArithmeticException ao caso de teste testPrintMessage ().
Crie um arquivo de classe java chamado ExpectedExceptionTest.java dentro 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());
}
}
Criar executor de teste
Crie testng.xml em C:\>TestNG_WORKSPACE para executar caso (s) de teste.
<?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>
Compile o MessageUtil, classes de caso de teste usando javac.
C:\TestNG_WORKSPACE>javac MessageUtil.java TestJunit.java
Agora, execute o Test Runner, que executará casos de teste definidos na classe Test Case fornecida.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Verifique a saída. O caso de teste testPrintMessage () será aprovado.
Inside testPrintMessage()
Manisha
Inside testSalutationMessage()
Hi!Manisha
===============================================
Suite1
Total tests run: 2, Failures: 0, Skips: 0
===============================================