无法在 PHPStorm 的 IDE 中运行单元测试

当我运行测试时,所有测试都成功运行。但是,当我右键单击测试文件并单击“运行测试”时,我最终会看到:vendor/bin/phpunit

/usr/local/bin/php -dxdebug.coverage_enable=1 /private/var/folders/bj/t2w187x158g7rgghctgknwb80000gn/T/ide-phpunit.php --coverage-clover /Users/bkuhl/Library/Caches/WebIde70/coverage/services$tests.coverage --no-configuration /Users/bkuhl/Projects/myproject/services/app/tests
Testing started at 3:09 PM ...

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 /private/var/folders/bj/t2w187x158g7rgghctgknwb80000gn/T/ide-phpunit.php on line 504
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 /private/var/folders/bj/t2w187x158g7rgghctgknwb80000gn/T/ide-phpunit.php on line 504
Call Stack:
    0.0008     340040   1. {main}() /private/var/folders/bj/t2w187x158g7rgghctgknwb80000gn/T/ide-phpunit.php:0

PHP Stack trace:
PHP   1. {main}() /private/var/folders/bj/t2w187x158g7rgghctgknwb80000gn/T/ide-phpunit.php:0

Process finished with exit code 255

我已将 PHPStorm 配置为使用path/to/vendor/autoload.php

enter image description here出于此屏幕截图的目的,我暂时更改了此目录的路径,但这是一个完全有效的路径。

有没有人在使用PHPStorm运行测试的能力时遇到问题?

composer.json:

"require-dev": {
    "way/generators": "dev-master",
    "way/laravel-test-helpers": "dev-master",
    "mockery/mockery": "*",
    "codeception/aspect-mock": "*",
    "phpunit/phpunit": "3.9.*@dev"
},

答案 1

PhpStorm在执行PHPUnit测试时使用包装器/帮助器脚本(用于集成目的:监控执行进度,堆栈跟踪等)。

目前,该帮助程序脚本不支持 PHPUnit 3.8 或 3.9 - 仅支持 3.7 及更低版本。

相应的票证:http://youtrack.jetbrains.com/issue/WI-21666 - 观看它(星号/投票/评论)以在解决时收到通知。

附言:此问题现已修复,修复程序将在下一个公共 EAP 版本(比当前 134.1456 更新)中提供。


答案 2

另一个解决方案:设置

"phpunit/phpunit": "3.7"

in composer.json

并运行

composer update 

然后问题将得到解决。

这也对我有用...

IntelliJ IDEA 不会运行 PHPUnit 4.0 测试


推荐