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 – 代码覆盖率注释使此工具不够全面
- 整理代码 - 我不确定差异报告的行是当前行还是之前行... 使用两者以获得最佳效果
- 测试!