DB関連の単体テストに使用されるテストDBを作成し、テストが完了するとDBを破棄するシャットダウン関数を登録するPHPUnitブートストラップファイルがあります。実行ごとに新しいデータベース!
問題:テストが失敗した場合、デバッグのためにデータベースを保持したいと思います。現在、手動で呼び出しを無効にしてからregister_shutdown_function()
、テストを再実行する必要があります。
実行のためにPHPUnitの最終的な成功/失敗状態にアクセスできれば、PHPUnitブートストラップファイル内のスイッチに基づいてデータベース破棄プロセスを動的にトリガーできます。
OK
PHPUnitは、適切な結果イベント、つまり出力とをトリガーするために、この情報をどこかに格納しますFAILURES!
。ただし、私が明らかにしたことから、この情報はユーザーレベルのブートストラップファイルに公開されていません。誰かがこのようなことをしたことがありますか?
探索したい場合は、コマンドラインからPHPUnitを実行したときに発生するPHPUnitのスタックトレースを次に示します...
PHP 1. {main}() /usr/bin/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP 3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:130
PHP 4. PHPUnit_TextUI_Command->handleArguments() /usr/share/php/PHPUnit/TextUI/Command.php:139
PHP 5. PHPUnit_TextUI_Command->handleBootstrap() /usr/share/php/PHPUnit/TextUI/Command.php:620
PHP 6. PHPUnit_Util_Fileloader::checkAndLoad() /usr/share/php/PHPUnit/TextUI/Command.php:867
PHP 7. PHPUnit_Util_Fileloader::load() /usr/share/php/PHPUnit/Util/Fileloader.php:79
PHP 8. include_once() /usr/share/php/PHPUnit/Util/Fileloader.php:95
PHP 9. [YOUR PHPUNIT BOOTSTRAP RUNS HERE]