brianhenryie / php-diff-test
仅运行适用于更改行的测试。
0.2
2023-09-16 00:10 UTC
Requires
- composer-runtime-api: ^2.2
- phpunit/php-code-coverage: *
- phpunit/phpunit: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-03 18:54:55 UTC
README
仅运行覆盖已更改行的测试。
安装
composer require --dev brianhenryie/php-diff-test
运行
运行: phpunit --filter="$(phpdifftest)"
或 codecept run suitename "$(phpdifftest)"
工作原理
运行 git diff
,解析哪些行已更改,解析 *.cov
代码覆盖率文件以匹配哪些测试覆盖了这些行。
脚本在当前工作目录、其 tests
子目录以及每个 tests
直接子目录中查找 *.cov
。
它还会检查 tests
中的 Codeception *.suite.yml
文件,并假设名为 unit.cov
的文件对应于 unit.suite.yml
,以确定输出是否应格式化为 codecept run...
语法而不是 PHPUnit --filter="..."
语法。
显然,假设您在 Git 仓库内工作并且已经生成了代码覆盖率。
待办事项
- 我认为差异跟踪不跟踪未提交的文件,这些文件可能有代码覆盖率
- 运行差异中的测试/运行自代码覆盖率生成以来更改的所有测试(合并/增量覆盖率?)
- 允许指定要比较的哈希值 - 例如,使拉取请求运行更快
- sebastianbergmann/php-code-coverage#571 – 代码覆盖率注释使此工具不够全面
- 整理代码 - 我不确定差异报告的行是当前行还是之前行... 使用两者以获得最佳效果
- 测试!