Pergunta

Eu quero usar testng com o Surefire plug-in de Maven . A idéia é marcar alguns testes com um integrationTest grupo e executar o plug-in duas vezes:. Para test objetivo excluindo o integrationTest grupo e para integration-test objetivo incluindo apenas o integrationTest grupo

Eu encontrei alguns material para a execução do plug-in para ambos objetivos e que funciona, mas o grupo para a segunda corrida não funciona (nenhum teste é executado).

Aqui está o plug-in de configuração no elemento de construção da minha pom.xml:

  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <excludedGroups>integrationTest</excludedGroups>
      <reportFormat>brief</reportFormat>
      <trimStackTrace>true</trimStackTrace>
      <useFile>false</useFile>
    </configuration>
    <executions>
      <execution>
        <id>integration-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <groups>integrationTest</groups>
          <excludedGroups/>
          <reportsDirectory>${project.build.directory}/surefire-reports/integration</reportsDirectory>
        </configuration>
      </execution>
    </executions>
  </plugin>

Alguma idéia? mvn integration-test executa todos os testes de unidade como esperado (excluindo o integrationTest grupo), mas o segundo teste apenas escreve:

Running TestSuite
Executar testes: 0, Falhas: 0, Erros: 0, ignorado: 0, Tempo decorrido: 0.562 sec

O resultado de mvn test é como esperado, os testes executados e integrationTest grupo é ignorada.

Foi útil?

Solução

eu entendi - irritante implementação de configuração

!

<excludedGroups/> não substitui <excludedGroups>integrationTest</excludedGroups>. Você precisa especificar qualquer grupo (desconhecido) em vez disso, <excludedGroups>none</excludedGroups> por exemplo.

Outras dicas

O à prova de falhas do plugin é a melhor maneira de fazer isso (pode não ter estado disponível quando você postou esta pergunta). Ele adiciona uma fase de integração-teste para o ciclo de vida de criação. Ele permite que você tem atividades de instalação e desmontagem executar antes e após os testes, o que é útil para gerenciar um recipiente incorporado, por exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top