2017-07-14 15 views
0

phpunit.xmlファイルを使用してPHPUnitテストを実行する際に問題があります。Homestead環境でPhpStormを使用してPHPUnitテストをデバッグする

Remote PHP interpreter configuration

この構成では、私はPHPのWebアプリケーションをデバッグすることができます:私はこのようなリモートPHPインタプリタを構成しました。 PHPUnitスクリプトのデバッグに問題があります。このような構成により

PHPUnit configuration

私はPHPUnitテストをデバッグすることができます:私はこのようにそれを構成し

debugging PHPUnit test

問題は私のPHPUnitのファイルが読み込まれないで、私の環境変数が使用されていないということです。その結果、テストでCSRFトークン検証例外などのエラーが発生しました。

phpunit.xmlファイルの使用方法を教えてください。私は、PHPUnit設定でデフォルト設定ファイルを追加できることがわかります。 phpunit.xml itselfではなく、プロジェクトディレクトリを指定する必要があります。

PHPUnitのCommand->handleArguments()関数では、このファイルをロードする方法が2つしかないことがわかります。 phpunit.xmlがあるディレクトリを指定するか、--no-configurationオプションを使用しないでください。私は私のプロジェクトは、phpunit.xmlの場所として配置されているディレクトリを指定するとき

hendleArguments() function in Command class

は残念ながら、私は私のテストをデバッグする能力を失います。興味深いことに、私はPHPUnitスクリプト(例えばCommand.phpファイル)をデバッグすることができます。

私は--no-configurationオプションをIntelliJ(PhpStorm)に追加しませんが、 "Default configuration file"フィールドが選択されていない場合は自動的に追加されます。

phpunit.xmlファイルをロードしてテストをデバッグする能力を失わないでください。

+0

[ファイルのデフォルトのコンフィギュレーション・ファイルとしてそれを設定しようとしましたが|設定|言語とフレームワーク| PHP |テストフレームワーク>あなたのリモートPHPUnit設定? –

答えて

1

問題は、テストが単独で実行されていたことでした。 PHPUnit設定でphpunit.xmlファイルまたはプロジェクトディレクトリを指定すると、そのファイルが考慮されます。 「切り離し」デバッガの原因は、テストを単独で実行することです。我々はfalseに属性processIsolationを設定する必要が問題「解決」するには、次の

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit backupGlobals="false" 
    backupStaticAttributes="false" 
    bootstrap="bootstrap/autoload.php" 
    colors="true" 
    convertErrorsToExceptions="true" 
    convertNoticesToExceptions="true" 
    convertWarningsToExceptions="true" 
    processIsolation="false" 
    stopOnFailure="false"> 
... 
</phpunit> 
+0

xdebugを有効にするには、そのVMでPHPを設定します。その部分についても同様の質問を参照してください:https://stackoverflow.com/q/45332246/367456 – hakre

関連する問題