12

我用 PHPUnit 得到了不正确的代码覆盖率报告,我相信这是 XDebug 的一个错误。

如何配置 PHPUnit 以使用它的其他驱动程序之一,即 PHPDBG?

(我正在使用 PHPUnit 4.7.7 和 PHP 5.5.12)

4

1 回答 1

10

PHPUnit 从 PHP Runtime 环境中选择驱动程序,因此要使用 PHPDBG 运行 PHPUnit,您必须安装该二进制文件。

您必须使用选项“--enable-phpdbg”编译 PHP,但这仅适用于 PHP 5.6 及更高版本。

PHP 5.4 及更高版本的安装说明是(这些来自https://github.com/krakjoe/phpdbg),并引用

要安装 phpdbg,您必须根据您的 PHP 安装源编译源,并使用 configure 命令启用 SAPI。

cd /usr/src/php-src/sapi
git clone https://github.com/krakjoe/phpdbg
cd ../
./buildconf --force
./configure --enable-phpdbg
make -j8
make install-phpdbg

安装后,您必须通过位于'/usr/local/php7/bin' 中的 phpdbg 二进制文件调用 PHPUnit,所以我将使用的命令是

/usr/local/php7/bin/phpdbg -qrr phpunit -v

这假设您的“phpunit”在您的环境路径中,否则使用您的“phpunit”的完整或相对路径。

我通过composer在我的项目源文件夹中安装了PHPUnit,这是'vendor'文件夹中的三个目录,所以我的命令是

/usr/local/php7/bin/phpdbg -qrr ../../../vendor/bin/phpunit -v

有关更多信息,请参阅 PHPDBG 的文档http://phpdbg.com/docs/introduction

希望这可以帮助

于 2015-11-10T11:18:32.510 回答