Nep*_*daj 30 java junit maven maven-surefire-plugin
我正在使用以下SureFire配置构建Maven项目:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.maven-surefire-plugin}</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
问题是,当我构建它时mvn clean install -DskipTests=true,测试仍在执行中.可能是什么问题呢?
我尝试了两个-DskipTests(来自Maven网站)-DskipTests=true,当我选中"跳过测试"复选框时,它由IntelliJ Idea添加.
我不使用任何Maven settings.xml.
编辑 如果我注释掉SureFire插件配置,该参数的行为与我期望的一样.上面的配置可能有什么问题?
Jac*_*ack 32
Maven知道跳过测试的两种类型的参数:
-Dmaven.test.skip=true
Run Code Online (Sandbox Code Playgroud)
要么
-DskipTests=true
Run Code Online (Sandbox Code Playgroud)
在神火-插件文件只提到第一位的,你还没有尝试过.
Aar*_*lla 11
你做了什么应该工作.如何进一步调试:
运行mvn help:effective-pom以查看Maven将执行的整个POM.搜索test(不区分大小写)以查看是否存在奇怪的内容.
运行mvn test -X以获取调试输出.这将打印用于配置的选项maven-surefire-plugin.确保将输出重定向到文件!
在日志中,您将看到
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.15:test' with basic configurator -->
Run Code Online (Sandbox Code Playgroud)
然后,下面的一些行:
[DEBUG] (s) runOrder = filesystem
[DEBUG] (s) skip = false
[DEBUG] (s) skipTests = false
Run Code Online (Sandbox Code Playgroud)
这些值意味着不会跳过测试.
您使用的是最新版本的插件吗?这里检查.您的版本可能不支持此选项.
它不是-DskipTests=true在-DskipTests考虑您使用的是surfire 2.3版
所以你以
mvn install -DskipTests
Run Code Online (Sandbox Code Playgroud)