2011-12-06 10 views
9

Sınama yürütmemin başarılı mı, yoksa başarısız mı olduğunu kontrol etmenin en iyi yolu nedir? Selenium pencerem için bir ekran görüntüsü almaya çalışıyorum, ancak sadece testim başarısız olduğunda. OnNotSuccessfulTest'te bir ekran görüntüsü almayı denedim, ancak penceremi her zaman tearDown() içinde yapmam gerekiyorsa() yapmam gerekiyorsa, ekran görüntüsünü onNotSuccessfulTest işlevimde almak için bir oturum yok.PHPUnit test vakamında tearDown() dosyasında hata olup olmadığını anlamanın bir yolu var mı?

Düşünüyorum çözüm, bir ekran görüntüsünü alıp almayacağınızı belirlemek için, sınamanın başarılı olup olmadığını veya gözyaşıda başarısız olup olmadığını kontrol etmeyi içerir.

PHPUnit 3.6 ve Facebook'un php-webdriver'ını kullanıyorum, bildiğim kadarıyla captureScreenshotOnFailure değişkenine sahip değilim.

Düşünceler?

cevap

11

Dönüş değerini getStatus()'dan kontrol edebilir ve istediğiniz koşullar altında bir ekran görüntüsü alabilirsiniz.

protected function tearDown() { 
    $status = $this->getStatus(); 
    if ($status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR 
      || $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) { 
     // take a screenshot... 
    } 
} 

durum testi yöntemiyle atılan istisna dayalı ayarlandığı için runBare() bakınız. Atlanan testler için de ekran görüntüsü almak isteyebilirsiniz.

İlgili konular