当我运行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/