Fatal Error が発生すると、PHP プロセスは終了します。つまり、同じ PHP プロセスに追加のコードが存在しないため、実行する方法がありません。
これは、次のことも意味します。
- あまり報道されないかもしれません
- 致命的なエラーになった後の他のテストは実行されません
- 失敗しているテストがあります -- ひどく。
問題を修正する必要があります。アプリケーションの致命的な
エラーは問題です。もちろん、自動テストでそれを検出したことは素晴らしいことですが、次のステップはそれをなくすことです;-)
停止した同じプロセスでこれ以上 PHP コードを実行することはできないため、私が見る唯一の解決策は、別のプロセスを起動してクリーンアップ コードを実行することです。
基本的な考え方は次のとおりです。
- テストを開始する
- 別の完全に異なるスクリプトを使用して、クリーンアップ操作を実行します
もちろん、これは、すべてのテストが実行された後、クリーンアップが一度だけ行われることを意味します。しかし、何もないよりはましだと思います。
さて、自動化された方法でそれを行う方法は?
最も簡単な解決策は、おそらく両方のコマンドを実行するシェルスクリプトを使用することです。このようなもの、私は言うだろう:
#!/bin/sh
php /.../launch-tests.php
php /.../cleanup.php
そして、そのシェル スクリプトを起動してテストを実行します。