有没有办法在PHPUnit中禁用单个测试的代码覆盖?

Eug*_*e M 25 php phpunit unit-testing

每次我在PHPUnit中运行单个单元测试时,也会生成代码覆盖率报告.我这里有一台较旧的计算机,如果我不需要它就可以禁用代码覆盖,这会减轻我的CPU压力.

有没有办法在每个测试的基础上禁用代码覆盖率?我找不到任何可以执行此操作的命令行开关.

Gon*_*rós 45

由于这是google热门搜索结果之一,我认为有必要指出,自4.8版以来,PHPUnit现在支持--no-coverage覆盖xml配置的选项.

https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-4.8.md

  • 不,这不是公认的答案。问题是“一种为单个测试禁用PHPUnit中的代码覆盖率的方法”,而不是为所有测试的单个运行禁用代码覆盖率的方法。 (2认同)
  • @SebastianBergmann这个问题令人困惑,因为它声称他希望在他不需要代码时禁用代码覆盖,因为他有一台旧电脑.还提到了命令行.我没有明确但我的想法是在运行单个测试时使用`--no-coverage`(我假设用户正在做) (2认同)

Ale*_*sky 27

如何制作phpunit.xml的副本,从中删除该<logging>节,然后执行:

phpunit --configuration new.xml
Run Code Online (Sandbox Code Playgroud)

  • 我最终削减了我的XML文件只是<PHPUnit的引导="./ TestHelper.php"颜色='真’/> ...现在它运行快闪电.希望我早点知道这个! (3认同)

Seb*_*ann 5

您可以使用 注释测试类或测试方法@coversNothing。然后,测试不会对代码覆盖率报告做出贡献。但是,仍会收集代码覆盖率数据(减慢执行速度)。我计划在未来优化这个。