当我运行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
我出于此屏幕快照的目的临时更改了该目录的路径,但这是一个完全有效的路径。

有没有人使用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"
},

最佳答案

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

目前,辅助脚本不支持PHPUnit 3.8或3.9-仅支持3.7及以下版本。

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

P.S.
现在,此问题已得到解决,并且该修复将在下一个公共(public)EAP版本(比当前的134.1456更新)中可用。

关于php - 无法在PHPStorm的IDE中运行单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21415898/

10-14 15:14
查看更多