【发布时间】:2011-04-16 21:21:14
【问题描述】:
每次我在 PHPUnit 中运行一个单元测试时,也会生成一个代码覆盖率报告。我有一台旧电脑在工作,如果我可以在不需要它时禁用代码覆盖,那对我的 CPU 的压力就会更小。
有没有办法在每个测试的基础上禁用代码覆盖?我找不到任何可以执行此操作的命令行开关。
【问题讨论】:
-
您是否尝试过在 XML 配置中这样做?
标签: php unit-testing phpunit
每次我在 PHPUnit 中运行一个单元测试时,也会生成一个代码覆盖率报告。我有一台旧电脑在工作,如果我可以在不需要它时禁用代码覆盖,那对我的 CPU 的压力就会更小。
有没有办法在每个测试的基础上禁用代码覆盖?我找不到任何可以执行此操作的命令行开关。
【问题讨论】:
标签: php unit-testing phpunit
由于这是 google 的顶级结果之一,我认为有必要指出,因为 PHPUnit 4.8 版现在支持 --no-coverage 选项来覆盖您的 xml 配置。
https://github.com/sebastianbergmann/phpunit/blob/4.8.0/ChangeLog-4.8.md
【讨论】:
--no-coverage(我假设用户正在这样做)
如何复制您的 phpunit.xml,从中删除 <logging> 节,然后执行以下操作:
phpunit --configuration new.xml
【讨论】:
<coverage />,它成功了。删除 <logging /> 并没有做任何明显的事情。
--no-coverage放在命令行上。
您可以使用@coversNothing 注释测试类或测试方法。然后,测试对代码覆盖率报告没有贡献。但是,仍将收集代码覆盖率数据(减慢执行速度)。我计划在未来对此进行优化。
【讨论】: