如何使用ant生成的cobertura.ser在运行maven集成测试时使用

时间:2013-03-06 13:41:30

标签: cucumber cobertura integration-testing

我使用以下命令和pom.xml片段运行与黄瓜案例的集成测试(例如:在功能文件中使用标签@ abc) -

pom.xml片段:

...
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <skip>true</skip>
    </configuration>
    <executions>
        <execution>
            <phase>integration-test</phase>
            <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                <skip>false</skip>
                <includes>
                    <include>**/*.class</include>
                </includes>
                <systemPropertyVariables>
                    <job.host.name>server-t10</job.host.name>
                    <job.email.notification>abc@abc.com</job.email.notification>
                    <cucumber.options>--format pretty --format
                        html:target/cucumber/cucumber-html</cucumber.options>
                </systemPropertyVariables>
            </configuration>
        </execution>
    </executions>
</plugin>
...

运行测试用例的mvn命令: mvn clean integration-test -Dcucumber.options="--format pretty --format html:target/cucumber/cucumber-html1 --tags @abc" -Djob.host.name=server-t10

对于正在执行的案例和生成的所有报告,每件事都可以正常工作。当我试图获得测试用例的覆盖范围时,问题出现了。

我尝试了所有可能的组合,使用cobertura-maven-plugin和version2.5.2(不使用ant instrumnet / report)生成cobertura覆盖率报告,但它不会创建任何报告,也不会创建任何.ser文件或任何内容。只有日志说 - 没有文件要检测,什么都不做。

输掉战斗,我终于下载了cobertura(1.9.4.1)并创建了自定义的cobertura.xml。当我为ex -

运行以下ant命令时

ant -f cobertura.xml instrument mvn clean integration-test -Dcucumber.options="--format pretty --format html:target/cucumber/cucumber-html1 --tags @abc" -Djob.host.name=server-t10 ant -f cobertura.xml report

幸运的是,它会创建所有报告/ .ser文件等。但是,在运行所有报告后,它在所有使用的类的最终报告报告中显示为零覆盖。这可能是因为(我认为)mvn命令没有使用/操纵ant tool创建的cobertura.ser。

所以,请帮助我,在我的pom.xml中放置什么内容,以便当我运行mvn命令时,它使用检测文件(由ant insturment命令生成的输出)并更新它。这样我就可以使用该文件来生成使用ant报告的报告。我尝试将所有可能的条目放在pom.xml中。但它没有帮助。

注意:我正在寻找这个特殊的解决方案,因为我所有的努力都在努力使cobertura-maven-plugin工作。我不知道原因,但这个插件对于我创建报告甚至运行案例都不起作用。

0 个答案:

没有答案