Codeception の ApiGuy を使用していくつかの API テストを作成しました。テストのデバッグ用に PhpStorm 7 にブレークポイントを設定したいのですが、後でデバッグ セッションを開始する方法がわかりません$ vendor/bin/codecept run
。オプションについては知ってい--debug
ますが、それはまさに私が望むものではありません。
何か考えはありますか?前もって感謝します!
Codeception の ApiGuy を使用していくつかの API テストを作成しました。テストのデバッグ用に PhpStorm 7 にブレークポイントを設定したいのですが、後でデバッグ セッションを開始する方法がわかりません$ vendor/bin/codecept run
。オプションについては知ってい--debug
ますが、それはまさに私が望むものではありません。
何か考えはありますか?前もって感謝します!
私は codecept.phar ファイルを使用していますが、これが機能することがわかりました。コンソールに次のコマンドを入力して、codeception テストを実行します。
export XDEBUG_CONFIG="idekey=session_name remote_host=localhost profiler_enable=1"
使用することをお勧めします
php -dxdebug.remote_enable=1 -dxdebug.remote_autostart=On -dxdebug.idekey=YOUR_KEY -dxdebug.remote_host=YOUR_IP ../vendor/bin/codecept run
エイリアスを使用できます
alias xon="export XDEBUG_CONFIG=\"profiler_enable=1\""
alias xoff="export XDEBUG_CONFIG=\"profiler_enable=0\""
そしてxon
、コンソールでデバッグを開始しxoff
て終了するために使用できます。
もう 1 つの方法は、上記のように PhpStorm を構成することですが、bin/cept
File 、 Arguments 、およびプロジェクトのルートをCustom Working Directoryとして設定します。run
少なくとも PHPStorm で Codeception をデバッグするために、実際には追加のスクリプトは必要ないと思います。他のIDEでもそうするとは思いません。Maciej Sz の回答に示されている構成で codecept.phar を「ファイル」として設定し、PHPStorm、Eclipse などの他のコマンド ライン スクリプトと同じように実行できます。
PHPStorm では、「ファイル」として codecept.phar を指す新しい PHP スクリプト デバッグ構成を作成します。引数を基本的な実行構成 (たとえば、実行受け入れ --group mygroup --env myenv) に設定しますが、デバッグするたびに「このページを表示する」ように指示します。その後、実行するテスト/グループ/環境を毎回変更して、ブレークポイントを使用してテストを実行できます。
ポップアップからデバッグ ボタンをクリックすると、デバッガ コンソールで受け入れテストが開始されます。
ブレークポイントに到達する最初の実行は、Codeception が実行前にコードが実行されることを確認しようとする検証フェーズになります。2 回目の実行は、テストで実際に Selenium または構成したものを使用する場合です。これにより、メモリ内にあるものを確認したり、制御された方法でステップオーバーしたりできます.