当我在java项目中运行命令mvn test时,它显示运行了0个测试。在src/test/java下有一个名为xyzTest.java的测试文件,尽管我可以去它并右键单击Intellij Idea中的测试文件并运行文件中的所有测试。
我想知道如何在命令行中做同样的事情。
目前,在pom.xml中只有依赖项,我没有使用任何插件。我读到有把握的maven插件可以帮助解决这个问题。但我觉得很奇怪,必须添加一个插件来执行这样一个简单的事情。当一个人右键单击文件并运行它时,IntelliJ如何运行它?
是否有其他方法可以运行所有测试?
我能够通过使用命令行通过执行mvn exec:java
你需要添加Surefire插件。来自Maven Surefire Plugin文档:"Surefire Plugin在构建生命周期的测试阶段用于执行应用程序的单元测试。">
从用法页面:最佳做法是在pom.xml或其父pom.xml中定义要使用的Surefire Plugin的版本:
<project>
[...]
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
[...]
</project>
可以通过调用构建生命周期的测试阶段来调用Surefire Plugin。
mvn test
"如果你想运行Maven阶段直至测试阶段,你可以运行mvn test
,如果你想重建和测试你的项目,你可以运行mvn clean verify
。
虽然我理解您可能会觉得必须添加一个插件来执行如此简单的事情很奇怪,但这就是Maven的工作方式。从Maven关于插件的文档来看:"Maven的核心是一个插件执行框架;所有工作都是由插件完成的。">
当你运行
mvn clean install
所有测试将被执行
您可以使用此命令运行测试mvn clean install -U -DskipTests=false