3

我正在使用 eclipse + maven2 来构建我的应用程序。我需要开始使用三叶草。

因此,我的问题是:根据您的经验,将这 3 个结合起来的最佳方法是什么。

我的意思是,我知道 eclipse 有一个 clover 插件,maven2 也有一个 clover 插件,当然还有 eclipse 的 maven 插件(m2eclipse - 我已经在使用)。

我应该使用什么以及如何使用?

谢谢你。

4

2 回答 2

5

在 Eclipse 下,使用Clover Eclipse Plugin

在 Maven 下,使用Maven Clover Plugin。将Clover 报告添加到站点生成:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-clover2-plugin</artifactId>
        <configuration>
          [...]
        </configuration>
        <executions>
          <execution>
            <phase>pre-site</phase>
            <goals>
              <goal>instrument</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
  <reporting>
    <plugins>
      [...]
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-clover2-plugin</artifactId>
        <configuration>
          [...]
        </configuration>
      </plugin>
    </plugins>
  </reporting>
[...]

或者,您可以检查测试覆盖率百分比并在不合规的情况下使构建失败:

  <build>
    <plugins>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-clover2-plugin</artifactId>
        <configuration>
          <targetPercentage>80%</targetPercentage>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>instrument</goal>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

Maven 构建仍然是主人。使用您喜欢的方法(命令行或 m2eclipse)运行它。

于 2009-10-19T14:09:37.763 回答
1

我正在使用 clover-report 以及 maven 的自动站点生成。为此,您只需将 clover 插件添加到您的 POM 报告部分,如此所述。这样,您还可以获得有关代码覆盖率的历史报告。

调用/启动 maven 进程是通过 m2eclipse 插件完成的,就是这样。但您也可以使用所有 3 个插件。因此,例如为 eclipse 安装 clover 插件,这样当您只想要代码覆盖率时,您就不必一次又一次地生成整个站点(使用 eclipse 的 clover 插件,您可以在 eclipse 中看到覆盖率)并使用clover maven 插件为任何已发布的代码生成“最终”代码覆盖率。clover-maven 和 clover-eclipse 都不需要 m2eclipse 插件,但是在使用 eclipse 和 maven 时它很好。

于 2009-10-19T12:46:54.010 回答