Şöyle bir test yöntemi var:
$row = $this->GetRowFromUserTable($id);
$this->assertLessThan(time(), time($row['last_update']));
$ Satır null olduğunda, $ row ['last_update'] erişim bir E_NOTICE tetiklemesi gerektiğini ve bu test başarısız gerekir, ama öyle değil.
Bu kod ilk assert başarısız, ben $ satır (fikstür aynı) boş olduğunu biliyorum:
$row = $this->GetRowFromUserTable($id);
$this->assertNotNull($row);
$this->assertLessThan(time(), time($row['last_update']));
Bu yazarken:
$row = $this->GetRowFromUserTable($id);
$this->assertEquals(E_ALL, error_reporting());
$this->assertLessThan(time(), time($row['last_update']));
o başarılı, bu yüzden de error_reporting doğru ve bu durum PHPUnit ile ilgisi olması gerekir eminim.
Ben phpunit 3.5.6 kullanabilirsiniz
I read this question: Can I make PHPUnit fail if the code throws a notice? but the answer suggests to use newer version of PHPUnit, but that answer is from 2009, so it's not it.
EDIT: Ben testini çalıştırmak için NetBeans IDE 6.9.1 kullanabilirsiniz.