【问题标题】:Phpunit - code coverage - strange non-executed code on switch statementPhpunit - 代码覆盖率 - switch 语句上奇怪的未执行代码
【发布时间】:2017-09-01 12:37:01
【问题描述】:

我正在测试一个方法,它有一个switch 语句和几个cases,奇怪的是其中一个行结果没有被执行,一个case 行,而它的内容被执行了。

图为问题

我想知道这怎么可能,我怎样才能覆盖这条线(因为这条线,我的整个班级的结果都没有覆盖)。

只是为了完成,这是我测试的摘录

$this->assertRegexp('/<br>/', $scheduler->getVerboseOutput('html'));

【问题讨论】:

  • PHPUnit 的哪个版本?哪个版本的 PHP?哪个版本的 Xdebug?看起来像 Xdebug 中的一个问题,可能已经在当前版本中修复。
  • 感谢您的回复,PHP 7.0.8PHPUnit 4.7.6,不幸的是我没有弄清楚如何获得 xdebug 版本,我能找到的最接近的是 zend_extension 路径/usr/local/php5/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so。我会尝试将 xdebug 更新到最新版本,谢谢
  • PHPUnit 4 不再受支持。请尝试使用当前版本。
  • 不确定是什么解决了这个问题,基本上我将 PHPUnit 更新到 v6 并将 Xdebug 更新到 v2.4.0(以前是 v2.4.0RC3),现在可以使用了,谢谢!
  • Xdebug 2.4 还是很老的。你想要 Xdebug 2.5.1。

标签: php phpunit code-coverage


【解决方案1】:

将 PHPUnit 更新到 v6 和 Xdebug 修复了该问题。

感谢@Sebastian Bergmann

【讨论】:

    猜你喜欢
    • 2017-02-22
    • 2012-05-04
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2012-01-18
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多