这篇文章是我努力为我的PHP(Symfony Projects)制作代码覆盖范围的列出点。主要是在我将来再次阅读,但也能够与所有人分享。
VSCODE扩展
名称:phpunit
id:emallin.phpunit
描述:从VSCODE运行Phpunit测试。
版本:4.1.1
出版商:Elon模型
VS市场链接:https://marketplace.visualstudio.com/items?itemName=emallin.phpunit
名称:覆盖牙龈
id:ryanluker.vscode-coverage-gutters
描述:LCOV或XML生成的显示测试覆盖范围 - 使用多种语言
版本:2.10.4
出版商:Ryanluker
VS市场链接:https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters
它有助于快速使用快捷方式运行测试,您可以像拥有CLI命令或phpunit.xml.dist
的每个设置一样具有预设设置。
Phpunit&Coverage Gutters Extension的设置
{
"phpunit.args": [
"--configuration",
"${workspaceFolder}/www/phpunit.xml.dist",
"--coverage-clover",
"${workspaceFolder}/var/coverage/cov.xml",
],
"coverage-gutters.showLineCoverage": true,
}
处理Phpunit模拟类型
将此文件复制到项目的任何子文件夹,最好是任何被忽略的文件夹。然后,您可以自动求解VSCODE的无效类型。当您从类创建模拟时发生的情况发生,而Vscode不知道如何将其检测为原始类或模拟类别类,通常会显示为错误,如果您不执行此步骤。
这篇文章也与xdebug https://dev.to/arielmejiadev/set-xdebug-coverage-mode-2d9g
有关https://xdebug.org/docs/all_settings#mode
代码无法获得覆盖
这是解决运行测试后未显示代码覆盖的问题的检查清单。
- 为您的PHP启用Xdebug吗? https://xdebug.org/docs/code_coverage
-
安装php-code-coverage? https://github.com/sebastianbergmann/php-code-coverage
-
phpunit配置:https://docs.phpunit.de/en/9.5/code-coverage-analysis.html
- 在测试类/功能中添加phpunit
@cover
标签。 - 使用CLI运行时,启用
phpunit.xml.dist
或test命令的代码覆盖选项。
- 在测试类/功能中添加phpunit