para ser eficiente com TestNG Eclipse Plugin

TestNG é uma estrutura de teste poderosa que permite aos desenvolvedores escrever testes flexíveis com agrupamento, sequenciamento e recursos orientados a dados; até torna a escrita de testes paralelos fácil. E o recurso mais poderoso, na minha opinião, é um conjunto de ouvintes que se conecta ao TestNG, o que permite controlar melhor os casos de teste ou aumentar os relatórios, etc.

o plugin TestNG Eclipse oferece a capacidade de executar e depurar casos de teste TestNG dentro do Eclipse IDE.

este artigo compartilha algumas dicas sobre como ser eficiente ao criar e executar testes com TestNG Eclipse Plugin.

instalação

TestNG para Eclipse Plugin está disponível no Eclipse Marketplace, siga o Guia de instalação.

Use TestNG Eclipse Plugin

Authoring Tests

quando você está criando os casos de teste TestNG, os modelos predefinidos podem definitivamente ajudá-lo a ser mais eficiente. Para criar um método de teste, no editor, digite test e pressione a tecla de atalho Content Assist (‘Alt + /’ no meu caso), selecione o modelo como abaixo:

Nota: haverá mais modelos disponíveis no TestNG Eclipse Plugin 6.10.1, por exemplo, ‘setup’,’ teardown’, etc.

Executar/Depurar Testes

Iniciar Testes

Existem várias maneiras de iniciar os testes, o que é muito útil. Aqui estão as diferentes maneiras pelas quais isso pode ser feito:

  • clicando com o botão direito do mouse na classe de teste ou no editor de origem, para executar esse teste.
  • clique com o botão direito do mouse no pacote, para executar todos os testes no Pacote.
  • clique com o botão direito do mouse no arquivo xml do pacote TestNG, para executar o pacote de teste personalizado.
  • ou, vá para executar a configuração para melhor controle na configuração de inicialização, por exemplo, o grupo de teste a ser executado; passe as propriedades do sistema para o processo de teste de tempo de execução, etc.

> Re-executar Testes que Falharam

Se você tiver vários testes que falharam, depois de corrigir o seu código de teste, você pode executar novamente os testes que falharam completamente para economizar tempo:

o Maven Integração

Se o seu projeto é Maven gerenciado, você pode querer configurar maven-surefire-plugin ou maven-failsafe-plugin para executar o caso de teste. Digamos que você passe os seguintes argumentos JVM e propriedades do sistema para o processo de teste de tempo de execução:

<artifactId>maven-surefire-plugin</artifactId><configuration> <suiteXmlFiles> <suiteXmlFile>test-suite/testng.xml</suiteXmlFile> </suiteXmlFiles> <argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar -Xmx1024m -XX:MaxPermSize=512m -Xms256m -Xmx1024m -XX:PermSize=128m -Dversion=${project.version} </argLine> <systemPropertyVariables> <foo>${foo.value}</foo> </systemPropertyVariables> <environmentVariables> <bar>${bar.value}</bar> </environmentVariables></configuration>

os testes funcionam bem com Maven cli, mvn -e test, mas podem falhar com qualquer versão do plugin TestNG Eclipse antes de 6.9.10. Nesse caso, você teria que copiar manualmente as propriedades do sistema para iniciar a configuração de cada teste.

felizmente, hoje, o Plugin TestNG Eclipse pode analisar a configuração de maven-surefire/failsafe-plugin, anexá-los automaticamente à configuração de inicialização. Dessa forma, também torna o comportamento o mais próximo possível da execução na linha de comando. Para mais detalhes, consulte o guia oficial.

Nota: O recurso equivalente para a integração do Gradle com o Eclipse Buildship está em planejamento, você pode acompanhar o ticket aqui.

TestNG Eclipse Plugin interno

é útil entender o núcleo do plugin TestNG Eclipse, especialmente quando você está tendo problemas para usá-lo.

quando um teste em execução, o plugin precisa obter os resultados do teste do processo de teste de tempo de execução e exibi-los na visualização em tempo real.

a comunicação entre o plugin e o processo de teste de tempo de execução é feita via socket. O plugin primeiro inicia o servidor de Soquete. Enquanto está no processo de teste de tempo de execução, há um conjunto de ouvintes que se conectam ao tempo de execução do TestNG e enviam os resultados do teste de volta ao plug-in via socket.

as funcionalidades de comunicação do soquete são mantidas no projeto ‘testng-remote’ no GitHub.

Palavras Finais

continuamos melhorando a experiência do Plugin TestNG Eclipse, envie seus comentários e ideias sobre o projeto GitHub aqui.

Sobre o Autor

XuQing Tan

Nick Tan
Ebates

  • GitHub
  • LinkedIn

Deixe uma resposta

O seu endereço de email não será publicado.