brianhenryie/php-diff-test

仅运行适用于更改行的测试。

0.2 2023-09-16 00:10 UTC

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