The invention discloses a Java code coverage statistics system. It includes: coverage statistics service client, which is a Web service installed on the server where the application under test is located. It is used to start and stop the Web container where the application under test is located, load or uninstall Jacoco's corresponding startup parameters into the startup file of the Web container, download at least one of the coverage statistics files generated by Jacoco, and coverage statistics server, which is used for: coverage statistics configuration; Overall coverage statistics; unit test coverage statistics; support the coverage statistics service client query coverage statistics results. The invention can provide one-stop Java coverage statistics configuration, automated test execution and coverage results viewing services, and provides convenience for testers.
【技术实现步骤摘要】
Java代码覆盖率统计系统
本专利技术属于互联网领域,尤其涉及一种Java(一种面向对象编程语言)代码覆盖率统计系统。
技术介绍
目前Java代码覆盖率统计解决方案要么是嵌入Ant,Maven等构件工具进行,要么是与jenkins等持续集成工具整合进行。但是多是进行单元测试的代码覆盖率统计,且测试人无法很便捷的触发和配置覆盖率统计的执行,也无法直观的查看和统计覆盖率统计的历史情况。亟需为测试人员提供一个简单配置就可以进行代码覆盖率统计,查看覆盖率统计结果的测试方案。
技术实现思路
本专利技术针对上述技术问题,提供一种Java代码覆盖率统计系统。本专利技术是通过以下技术方案解决上述技术问题的:一种Java代码覆盖率统计系统,包括:覆盖率统计服务客户端,是被安装被测应用所在服务器上的Web(互联网总称)服务,用于:启停被测应用所在Web容器、加载或卸载Jacoco(覆盖率统计工具)相应的启动参数到Web容器的启动文件中、下载Jacoco产生的覆盖率统计文件中的至少一种;覆盖率统计服务端,用于:覆盖率统计配置,具体包括忽略模块配置、覆盖率包含配置、覆盖率排除配置中的至少一种;系统覆盖率统计,具体包括:通过所述覆盖率统计服务客户端在被测应用的启动过程中把Jacoco插桩到被测应用的JVM(Java虚拟机)进程中,以捕获应用过程中产生的第一覆盖率数据,通过所述第一覆盖率数据进行系统级别的覆盖率统计;单元测试覆盖率统计,具体包括:从Git服务器拉取单元测试用例代码到本地服务器,通过执行Jacoco-maven-plugin插件获取单元测试的第二覆盖率数据,将所述第二覆盖率 ...
【技术保护点】
1.一种Java代码覆盖率统计系统,其特征在于,包括:覆盖率统计服务客户端,是被安装被测应用所在服务器上的Web服务,用于:启停被测应用所在Web容器、加载或卸载Jacoco相应的启动参数到Web容器的启动文件中、下载Jacoco产生的覆盖率统计文件中的至少一种;覆盖率统计服务端,用于:覆盖率统计配置,具体包括忽略模块配置、覆盖率包含配置、覆盖率排除配置中的至少一种;系统覆盖率统计,具体包括:通过所述覆盖率统计服务客户端在被测应用的启动过程中把Jacoco插桩到被测应用的JVM进程中,以捕获应用过程中产生的第一覆盖率数据,通过所述第一覆盖率数据进行系统级别的覆盖率统计;单元测试覆盖率统计,具体包括:从Git服务器拉取单元测试用例代码到本地服务器,通过执行Jacoco‑maven‑plugin插件获取单元测试的第二覆盖率数据,将所述第二覆盖率数据交由SonarQube进行单元测试的覆盖率统计;支持所述覆盖率统计服务客户端查询覆盖率统计结果。
【技术特征摘要】
1.一种Java代码覆盖率统计系统,其特征在于,包括:覆盖率统计服务客户端,是被安装被测应用所在服务器上的Web服务,用于:启停被测应用所在Web容器、加载或卸载Jacoco相应的启动参数到Web容器的启动文件中、下载Jacoco产生的覆盖率统计文件中的至少一种;覆盖率统计服务端,用于:覆盖率统计配置,具体包括忽略模块配置、覆盖率包含配置、覆盖率排除配置中的至少一种;系统覆盖率统计,具体包括:通过所述覆盖率统计服务客户端在被测应用的启动过程中把Jacoco插桩到被测应用的JVM进程中,以捕获应用过程中产生的第一覆盖率数据,通过所述第一覆盖率数据进行系统级别的覆盖率统计;单元测试覆盖率统计,具体包括:从Git服务器拉取单元测试用例代码到本地服务器,通过执行Jacoco-maven-plugin插件获取单元测试的第二覆盖率数据,将所述第二覆盖率数据交由SonarQube进行单元测试的覆盖率统计;支持所述覆盖率统计服务客户端查询覆盖率统计结果。2.如权利要求1所述的Java代码覆盖率统计系统,其特征在于,所述覆盖率统计服务端还用于:代码质量静态检查,具体包括从Git服务器拉取代码到本地服务器,通过执行sonar-maven-plugin插件把代码交由SonarQube进行代码静态扫描。3.如权利要求1所述的Java代码覆盖率统计系统,其特征在于,所述...
【专利技术属性】
技术研发人员:王幸福,梅强强,张秋会,
申请(专利权)人:携程计算机技术上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。