有时候,IntelliJ IDEA在运行、调试或者显示 PHPUnit 测试的覆盖率方面会有问题。这可能是由于它生成的类与您拥有的 PHPUnit 版本不兼容导致的。
在我的情况下,是 IntelliJ IDEA 12.1.6 和 PHPUnit 4.0.14 不兼容,总是会出现以下错误信息:
在我的情况下,是 IntelliJ IDEA 12.1.6 和 PHPUnit 4.0.14 不兼容,总是会出现以下错误信息:
/usr/bin/php /tmp/ide-phpunit.php --configuration /home/username/Documents/stuff/phpunit.xml.dist
Testing started at 5:32 PM ...
PHP Fatal error: Class IDE_PHPUnit_Framework_TestListener contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (PHPUnit_Framework_TestListener::addRiskyTest) in /tmp/ide-phpunit.php on line 496
PHP Stack trace:
PHP 1. {main}() /tmp/ide-phpunit.php:0
Process finished with exit code 255
在/tmp/ide-phpunit.php
生成的代码中,缺少PHPUnit 4.x所需的新方法。
以下是我尝试过但无法解决问题的方法:
- 手动修复文件并将其标记为只读会导致IntelliJ停止工作,并抱怨无法替换该文件。
- 设置“运行前”命令以自动修补文件不足够,因为它似乎不能用于调试或代码覆盖率,只适用于常规运行。