Bir Ölümcül Hata oluştuğunda, PHP işlem sonlandırılır - artık orada olduğu gibi aynı PHP süreç, addionnal kod her türlü idam olduğu için hiçbir yolu yoktur anlamına gelir.
Bu da demek olur:
- muhtemelen çok raporlama elde değil edeceğiz
- Fatal Error biter biri sonra diğer testler çalışmayacak
- Kötü - Sen başarısız bir test var.
You should fix the problem : a Fatal Error in your application is bad ; it's great that you detected it with your automated tests, of course -- but the next step is to make it go away ;-)
As you cannot run anymore PHP code in the same process that has died, the only solution I see would be to launch another process, to run your clean-up code.
: Temel fikir olacaktır
- Sizin testleri başlatın
- Temizlik işlemlerini çalıştırmak için, başka, tamamen farklı, komut dosyası kullan
Tabii ki, bu tüm testleri çalıştırmak edildikten sonra temiz-up sadece bir kez yapılabilir anlamına gelir; ama hiç yoktan iyidir herhalde.
Now, how to do that in an automated way ?
Basit çözüm muhtemelen hem komutları çalışan bir kabuk betiği, kullanmak olacaktır; Böyle bir şey, ben söylemek istiyorum:
#!/bin/sh
php /.../launch-tests.php
php /.../cleanup.php
Ve bu kabuk betiği başlatarak sınamaları çalıştırmak.