web-dev-qa-db-ja.com

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"
},
30
Webnet

PhpStormは、PHPUnitテストの実行時にラッパー/ヘルパースクリプトを使用します(統合目的:実行の進捗状況の監視、スタックトレースなど)。

現在、このヘルパースクリプトはPHPUnit 3.8または3.9をサポートしていません。3.7以下のみをサポートしています。

対応するチケット: http://youtrack.jetbrains.com/issue/WI-21666 -確認して(star/vote/comment)、解決されるときに通知を受けます。

P.S。
この問題は修正され、修正は次のパブリックEAPビルドで利用可能になります(現在の134.1456より新しい)。

43
LazyOne

andriy kommという名前の一部のユーザーが、IDEチケットスレッド( http://youtrack.jetbrains.com/issue/WI-21666 ):

修正されるまでの回避策:

  1. / plugins/php/libに移動します

  2. php.jarのバックアップを作成します

  3. ファイルを開くために必要なツールを使用します。通常は、Zipや他の圧縮ツール、またはubuntuでファイルローラーを使用します。

  4. Scripts/phpunit.phpに移動します

  5. 「IDE_PHPUnit_Framework_TestListener」クラスを検索し、そこに次の行を追加して変更します。

public function addRiskyTest(PHPUnit_Framework_Test $ test、Exception $ e、$ time){} 6.ファイルを保存してphp.jarを更新します

注1:使用するOSとツールによっては、.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)。

6
Ragnar Lodbrok

別の解決策:セット

"phpunit/phpunit": "3.7"

composer.json

そして走る

composer update 

その後、問題は解決されます。

これも私のために働いた...

IntelliJ IDEA PHPUnit 4.0テストは実行されません

6
Dinar