Maven - Como compilar testes sem executá-los?


128

Existe uma maneira no Maven de compilar os testes sem executá-los? Eu quero usar o IDE para executar testes específicos e não todos.


8
Você provavelmente deve editar a pergunta ou alterar a resposta aceita.
Chiranjib

Respostas:


29

você pode tentar usar o parâmetro -DskipTests

Referências:


No netbeans, era isso que eu estava fazendo. Eu vejo o seguinte mvn -Dmaven.test.skip = true -Dnetbeans.execution = true instalação limpa, então eu vejo o seguinte
user373201

[compilador: testCompile] Não compilando fontes de teste [surefire: test] Os testes são ignorados. Pelo menos usando o netbeans parece que, se os testes forem ignorados, ele não compila as fontes de teste
user373201

1
não importa, embora os logs digam isso, ele ainda parece compilar arquivos de teste.
precisa saber é o seguinte

34
isso leva a pular completamente os testes: execução e compilação, veja a resposta correta abaixo: test-compile. Eu usá-lo com mvn compilação limpa test-compilação em Eclipse
Yashima

3
@Yashima você está certo este aswer não é tão inteligente ... por favor aceitar a resposta abaixo, portanto, um possível excluir este
lweller

334

E a test-compilefase do ciclo de vida? Não requer nenhum teste pulando, porque ocorre antes da testfase. Ou seja,

$ mvn test-compile

E feito.

A introdução ao Ciclo de Vida da Construção explica mais adiante.


7
Era exatamente disso que eu precisava, obrigado. Eu não sei sobre o autor original; mas eu estava procurando compilar os testes e depois executá-los com um corredor de teste separado.
Mike Miller

30

Para compilar apenas os testes e o código, sem executá-los, basta:

mvn test-compile

7
Eu acho que teste-compilação inclui compilação
Whimusical

concorde com @Whimusical. Além disso, isso executará o objetivo de compilação 2 vezes.
Gabriel Petrovay

26

Ao executar uma meta que incluirá a fase de teste (como pacote), você pode fazer duas coisas:

  • Use o comando mvn -DskipTests=true package. Isso compilará todos os testes, mas não os executará.
  • Or mvn -Dmaven.test.skip=true package. Isso não irá compilar ou executar a ramificação de teste.

3

Como alternativa, você pode usar a maven.test.skip.execopção

mvn -Dmaven.test.skip.exec=true

O Maven compilará os testes sem executá-los. Eu uso essa opção em todos os meus projetos regularmente.



0

Se você arquivo settings.xml, também poderá usar

<maven.test.skip>true</maven.test.skip>

5
Você nunca deve fazer isso. Se você precisar, defina-o na linha de comando, mas nunca permanentemente.
Sean Patrick Floyd

13
Nunca disse que você deveria ou não deveria fazê-lo. Apenas fornecendo conhecimento da opção.
Menapole

4
Isso faz com que o maven também não compile os testes.
Mike Miller

3
@ Sean Patrick Floyd: por que não? isso NÃO é permanente, seria configurá-lo no pom.xml.
Balázs Németh
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.