Web*_*net 30 php phpunit unit-testing phpstorm composer-php
当我运行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
Run Code Online (Sandbox Code Playgroud)
我已将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"
},
Run Code Online (Sandbox Code Playgroud)
Laz*_*One 43
PhpStorm在执行PHPUnit测试时使用包装器/帮助器脚本(用于集成目的:监视执行进度,堆栈跟踪等).
目前帮助脚本不支持PHPUnit 3.8或3.9 - 仅3.7及以下.
相应的门票:http://youtrack.jetbrains.com/issue/WI-21666 - 观看它(明星/投票/评论)以便在解决时得到通知.
PS
此问题现已修复,修复将在下一个公共EAP版本中提供(比当前的134.1456更新).
小智 6
另一个解决方案:Set
"phpunit/phpunit": "3.7"
Run Code Online (Sandbox Code Playgroud)
在composer.json中
并运行
composer update
Run Code Online (Sandbox Code Playgroud)
然后问题就会得到解决.
这对我也有用......
IntelliJ IDEA不会运行PHPUnit 4.0测试
一些名为andriy komm的用户在故障单线程的 IDE中添加了基于手动修复php插件的解决方案(http://youtrack.jetbrains.com/issue/WI-21666):
解决方法直到修复:
转到/ plugins/php/lib
备份php.jar
使用你拥有的任何工具来打开文件,通常是zip或其他压缩工具,或者在ubuntu下使用文件滚轮.
转到scripts/phpunit.php
修改它,搜索"IDE_PHPUnit_Framework_TestListener"类并在其中添加以下行:
public function addRiskyTest(PHPUnit_Framework_Test $ test,Exception $ e,$ time){} 6.保存文件并更新php.jar
注1:根据您使用的操作系统和工具,您可能需要解压缩.jar以修改并再次将其压缩回jar.在ubuntu上使用文件滚轮我可以跳过这一步,编辑文件并直接更新jar.
编辑/tmp/ide-phpunit.php没有帮助,因为它被phpunit.php文件覆盖,我在上面提到过.
注意2:另外,根据版本,您可能会在其他地方找到php.jar:
在这里:转到您的用户主目录(windows/linux)并搜索隐藏目录.Webide,同时是一个数字取决于您的phpstorm版本(例如G. .Webide70)
或者在这里:我认为早期版本被命名为.IntelliJIdea,而数字取决于你的phpstorm版本.
并使用相同的路径(/ plugins/php/lib)
为我工作(Windows 7,PHPStorm 7,#PS-133.982).
| 归档时间: |
|
| 查看次数: |
11656 次 |
| 最近记录: |