php代碼覆蓋率統計工具

2019-07-13 10:16:00
CJL
原創
6705

常用的單元測試工具都有代碼覆蓋率工具,但是當我們想統計接口測試覆蓋率可能有些睏難。

一般需要藉助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
發錶評論
評論通過審核後顯示。
流量統計