PHPUnit beklenen istisnaları yakalamak değil

0 Cevap php

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?

0 Cevap