【发布时间】:2014-04-16 00:54:58
【问题描述】:
我有一个多模块 maven 项目。我使用 intellij-idea 作为我的 IDE。 我为 Maven 配置了 clover 插件以在构建时自动检测。 如何让 IntelliJ 识别这些更改并刷新其覆盖数据。(注意:必须单击“刷新覆盖”工具栏按钮。)
我试过像这样配置 maven-clover2-plugin:
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<baseDir>${project.basedir}</baseDir>
<cloverMergeDatabase>
${project.basedir}.clover\cloverMerge.db
</cloverMergeDatabase>
</configuration>
<executions>
<execution>
<id>main</id>
<phase>package</phase>
<goals>
<goal>instrument</goal>
<goal>aggregate</goal>
<goal>check</goal>
</goals>
</execution>
<execution>
<id>site</id>
<phase>pre-site</phase>
<goals>
<goal>instrument</goal>
<goal>aggregate</goal>
<goal>check</goal>
</goals>
</execution>
<execution>
<id>clean</id>
<phase>clean</phase>
<goals><goal>clean</goal></goals>
</execution>
</executions>
</plugin>
然后我将我的项目设置配置为使用:.clover\cloverMerge.db 并选中相对于项目目录。复选框。
但这没有用。
注意:
在Configuring Instrumentation 的底部它说
如果您有一个多模块项目,请不要明确设置这些位置。
因此,我还尝试将该位置保留为 Maven 和 IDEA 的默认位置,但这也不起作用。
同样在Clover for IDEA installation GUIDE - Known Issues
如果您使用的是 Maven 构建工具,则应避免使用与 Maven 相同的 > IntelliJ 输出目录。由于 Maven 使用
target/classes和target/test-classes目录,
避免指定这些。 IntelliJ 的clover.db位置也应该不同于 Maven 使用的位置。
为什么他们应该是不同的是否存在一些文件损坏问题?如果它们保持不同,那么如何我可以得到很棒的覆盖突出显示/等,而不必在一个完全独立的过程中重复构建?
【问题讨论】:
-
您有什么具体原因没有使用 IDEA 的内置构建器编译代码并使用 Clover-for-IDEA 插件为其生成代码覆盖率吗?
-
因为当我为部署构建应用程序时,我使用的是 maven。我更愿意从我部署的相同构建过程中进行测试,而不是使用不同的构建过程。
标签: maven intellij-idea clover java maven intellij-idea clover