我是PHP开发的新手,但有开发Python Web应用程序的经验。在Python中,有一个名为Coverage的包,它可以分析代码并识别缺少单元测试的功能。
PHP世界中是否存在这样的包?我搜索过谷歌和搜索引擎优化并且做得很短。谢谢你的帮助!
答案 0 :(得分:2)
PHPUnit支持代码覆盖,是事实上的标准。与Jenkins等人合作
https://phpunit.de/manual/current/en/code-coverage-analysis.html
答案 1 :(得分:1)
PHPUnit内置了覆盖。您可以使用
生成html覆盖率报告phpunit --coverage-html /[path where to save report]
另一个选项是--coverage-clover
,而不是--coverage-html
。这将生成一个关于所涵盖内容的xml报告。
如果您使用像phpStorm这样的高级IDE,您只需右键单击测试并选择" Run with coverage",它将在编辑器的文件浏览器中显示覆盖范围。
答案 2 :(得分:1)
PHPUnit本身具有使用PHP_CodeCoverage
的覆盖工具此页面显示所有不同的覆盖选项:https://phpunit.de/manual/current/en/textui.html
示例html输出覆盖命令行将是:
phpunit ./report tests/*
这将创建一个名为report的文件夹,其中包含tests / folder
下所有测试的所有覆盖范围答案 3 :(得分:0)
此外,您可以通过使用json文件检查项目模块中通过或失败的案例数来生成案例报告。
将此代码添加到phpnit.xml文件中:
<log type="json" target="./log/jsonreport.json" charset="UTF-8"/>
运行后,应该存在已通过案例列表的生成文件(jsonreport.json
)。
答案 4 :(得分:0)
是有许多代码覆盖工具。 将以下链接添加到您的phpunit.xml
<logging>
<log type="coverage-html" target="./mainreport" charset="UTF-8"
yui="true" highlight="true"
lowUpperBound="50" highLowerBound="80" />
</logging>
安装XDEBUG,(ex: for ubuntu and php7 - sudo apt-get install php7.0-xdebug)
这会将您的报告记录到target属性中指定的目录(target =&#34; ./ mainreport&#34;)。报告也将采用html格式
在根目录中创建一个mainreport
目录。
进行单元测试
在浏览器中打开index.html,您可以看到覆盖率报告。