2020-02-27

 目录

1 安装版本
2 被测系统代码示例
3 收集单元测试覆盖率
4 收集集成和功能测试覆盖率

 

代码覆盖率可在单元测试、系统测试和系统功能测试中使用

    • 单元测试:测试左移,在代码提交前,可制定覆盖率要求,若不满足,不能提交
    • 集成测试:接口测试
    • 系统功能测试:通过用户界面操作

 

 1 安装版本


 

 返回

2 被测系统代码示例


 返回

源代码:jacocodemo.zip

该示例示基于springboot框架的后端系统,主要是两个数字的加减乘除,提供restful接口给外部调用

Jacoco收集单元测试、集成测试和系统功能测试覆盖率

图1 被测系统jacocoDemo

 

3 收集单元测试覆盖率


 返回

配置被测项目pom.xml,添加插件设置:

           <!--maven测试为 default 生命周期中的test阶段。-->
            <!--test阶段与 maven-surefire-plugin 的test目标相绑定了, 这是一个内置的绑定。-->
            <!--Maven通过插件来执行 JUnit 和 TestNG 的测试用例。-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>

            <!--执行单元测试命令:mvn test-->
            <!--结果在target目录下生产jacoco-unit.exec文件,表明jacoco正确执行-->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.3</version>
                <configuration>
                    <!--指定生成 .exec 文件的存放位置-->
                    <destFile>target/coverage/jacoco-unit.exec</destFile>
                    <!--Jacoco 是根据 .exec 文件生成最终的报告,所以需指定 .exec 的存放路径-->
                    <dataFile>target/coverage/jacoco-unit.exec</dataFile>
                </configuration>
                <executions>
                    <execution>
                        <id>jacoco-initialize</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-site</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
猜你喜欢
  • 2021-09-21
  • 2022-01-17
  • 2022-12-23
  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
相关资源
相似解决方案