当使用PHPUnit HTML覆盖时,数组到字符串转换异常


Array to string conversion exception when using PHPUnit HTML Coverage

我遇到了一个问题,似乎与PHPUnit中的--coverage-html功能有关(我使用的是4.8.0版本,尽管我在其他版本中也遇到过)。当我保持启用状态时,控制台中Array to string conversion的所有测试都失败。

我一直在调试,似乎与这段代码有关:

// vendor/phpunit/php-token-stream/src/Token/Stream.php:437-441
$this->addFunctionToMap(
    $class . '::' . $name,
    $tmp['startLine'],
    $tmp['endLine']
);

$class变量是一个单条目array,带有我的一个类的名称,尽管很明显,需要一个字符串。

有没有人知道为什么会发生这种情况,我能做些什么来解决它?

编辑:我注意到人们在犯mock错误时得到这个消息,这也发生在我的无mock测试

事实证明,这是在新版本的php-token-stream中引入的回归。

pull request has submitted.

https://github.com/sebastianbergmann/php-token-stream/pull/55