TestNG - Executando testes

Os casos de teste são executados usando TestNGclasse. Esta classe é o principal ponto de entrada para a execução de testes na estrutura TestNG. Os usuários podem criar seu próprio objeto TestNG e invocá-lo de muitas maneiras diferentes, como -

  • Em um testng.xml existente.

  • Em um testng.xml sintético, criado inteiramente em Java.

  • Definindo diretamente as classes de teste.

Você também pode definir quais grupos incluir ou excluir, atribuir parâmetros, etc. Os parâmetros da linha de comando são -

  • -d outputdir: especifica o diretório de saída.

  • -testclass class_name: especifica um ou vários nomes de classe.

  • -testjar jar_name: especifica o jar que contém os testes.

  • -sourcedir src1; src2:; lista separada de diretórios de origem (usada apenas quando anotações javadoc são usadas).

  • -target

  • -groups

  • -testrunfactory

  • -listener

Criaremos o objeto TestNG um testng.xml existente em nosso exemplo abaixo.

Criar uma aula

Crie uma classe java a ser testada, digamos, MessageUtil.java dentro 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;
   }   
}

Criar classe de caso de teste

  • Crie uma classe de teste java, digamos, SampleTest.java.

  • Adicione um método de teste testPrintMessage () à sua classe de teste.

  • Adicione um Annotation @Test ao método testPrintMessage ().

  • Implemente a condição de teste e verifique a condição usando a API assertEquals do TestNG.

Crie um arquivo de classe java chamado SampleTest.java em 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());
   }
}

Crie testng.xml

A seguir, vamos criar o arquivo testng.xml em C:\>TestNG_WORKSPACE, para executar caso (s) de teste. Este arquivo captura todo o seu teste em XML. Esse arquivo facilita a descrição de todos os seus conjuntos de teste e seus parâmetros em um arquivo, que você pode verificar em seu repositório de código ou enviar por e-mail para colegas de trabalho. Também torna mais fácil extrair subconjuntos de seus testes ou dividir várias configurações de tempo de execução (por exemplo, testngdatabase.xml executaria apenas testes que exercem seu banco de dados).

<?xml version = "1.0" encoding = "UTF-8"?>

<suite name = "Sample test Suite">
   <test name = "Sample test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

Compile o caso de teste usando javac.

C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java

Agora, execute o testng.xml, que executará o caso de teste definido na tag <test>.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

Verifique a saída.

Hello World

===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================