Ben testlerin bir dizi var, ve benim sınıfları doğru zamanda istisnalar atmak olduğunu test etmek istiyorum. Örneğin, benim sınıf __ get () sihirli yöntemini kullanır, bu yüzden geçersiz bir özellik alınabilir olduğunda bir özel durum olduğunu test etmek gerekir:
function testExceptionThrownWhenGettingInvalidProperty() {
$obj = new MyClass();
$this->setExpectedException("Property qwerty does not exist");
$qwerty = $obj->qwerty;
}
Sınıf olması gerektiği, ancak bunun yerine sadece bir pas alma, istisna yakalanmış değil gibi bir hata atar!
There was 1 error:
1) QueryTest::testExceptionThrownWhenGettingInvalidProperty
Exception: Property qwerty does not exist
Ben önce SimpleTest kullanarak, ve $this->expectException(new Exception("Property qwerty does not exist"));
sadece iyi çalıştı. Ben diğer yöntemler (@ ExpectedException ve deneyin-catch) olduğunu biliyorum, ama bu bir çalışması gerekir ve bu çok temiz görünüyor. Ben bu işi yapmak nasıl bir fikir?