php代码覆盖率统计工具

2019-07-13 10:16:00
CJL
原创
6180

常用的单元测试工具都有代码覆盖率工具,但是当我们想统计接口测试覆盖率可能有些困难。

一般需要借助xdebug的覆盖率功能再配合一些统计展示工具。


常用工具:

1、codeception远程统计覆盖率:https://codeception.com/docs/11-Codecoverage Remote Server 工具成熟对依赖较多

2、PHPCodeCoverage https://github.com/cj58/PHPCodeCoverage 无依赖,使用方便、缺少统计报表

3、php-code-coverage https://github.com/sebastianbergmann/php-code-coverage phpunit底层支持,报表形式丰富,需做二次开发以支持远程监测


综合比较后决定基于php-code-coverage进行二次开发以满足我们的需求

需要我们自己做的部分包括:

1、服务器安装xdebug

2、服务器上安装修改后的php-code-coverage,配置php.ini内的auto_prepend_script


在php-code-coverage上进行一下工作

1、提供一个auto_prepend_script 

提供根据配置文件内域名及开关开启记录覆盖率的功能
提供生成报告功能
提供归档报告功能
根据域名对统计进行区分
可以根据域名做目录排除

2、提供一个配置界面及报告查看界面

对域名及域名的配置进行关管理
对生成和归档的报告进行管理查看


项目github地址:https://github.com/chujilu/ServerPHPCodeCoverage


其他注意事项:

注入的php代码要尽量精简,

引入的自动加载要及时清除,

使用的变量也要及时清除,

控制内存占用大小

加入的目录尽量精简,避免目录太多造成响应太慢

目录变量很耗费性能,在遍历目录时尽量使用缓存

保存历史数据尽量使用内存缓存,提高数据处理速度



多服务器实现思路

项目包含两部分一部分是采集代码inject.php,剩余代码为展示与分析部分。可通过修改inject.php保存数据部分代码,将数据异步上传到一台集中服务器中。

在集中服务器上加载数据文件,生成报表。

也可以把数据保存到数据库、redis内,这样就可以做到实时多服务器分析。




评论列表
2020-07-28 22:14:29
你好,请问一下,部署完成了,怎么启动使用?
Wang 2020-07-24 15:55:11
你好,请问,在服务器上部署完成了,怎么访问到你的github上的页面?
1/1
发表评论
评论通过审核后显示。
流量统计