Maven - 如何编译测试而不运行它们?

use*_*201 116 maven

Maven有没有办法在不运行它们的情况下编译测试?我想使用IDE来运行特定的测试而不是所有测试.

Ron*_*onU 310

如何在test-compile生命周期阶段?它不需要任何测试跳过,因为它发生在test阶段之前.也就是说,

$ mvn test-compile
Run Code Online (Sandbox Code Playgroud)

并做了.

构建生命周期简介进一步解释.

  • 请将此答案标记为正确答案. (9认同)
  • 这正是我所需要的,谢谢.我不知道原来的提问者; 但是我想编译测试,然后用一个单独的测试运行器运行它们. (7认同)

lwe*_*ler 31

你可以尝试使用参数 -DskipTests

参考文献:

  • 这导致完全跳过测试:执行和编译,请参阅下面的正确答案:test-compile.我在Eclipse中使用它与mvn clean编译test-compile (33认同)
  • @Yashima你是对的这个aswer不是那么聪明...请接受下面的答案,所以一个可以删除这一个 (3认同)

小智 28

要编译测试和代码,而不运行它们,只需执行:

mvn test-compile compile
Run Code Online (Sandbox Code Playgroud)

  • 我认为测试编译包括编译 (2认同)

Mar*_*ins 26

在执行包含测试阶段(例如包)的目标时,您可以执行以下两项操作:

  • 使用该命令mvn -DskipTests=true package.这将编译所有测试但不运行它们.
  • 或者mvn -Dmaven.test.skip=true package.这不会编译或运行测试分支.


Ste*_*han 7

或者,您可以使用maven.test.skip.exec选项。

mvn -Dmaven.test.skip.exec=true
Run Code Online (Sandbox Code Playgroud)

Maven 将编译测试而不运行它们。我经常在我所有的项目中使用这个选项。