У меня есть набор тестов, и я хочу проверить, что мои классы выдают исключения в нужное время.В этом примере мой класс использует магический метод __get (), поэтому мне нужно проверить, что возникает исключение при получении неверного свойства:
function testExceptionThrownWhenGettingInvalidProperty() {
$obj = new MyClass();
$this->setExpectedException("Property qwerty does not exist");
$qwerty = $obj->qwerty;
}
Класс выдает ошибку, как и должно,вместо того, чтобы просто получить пропуск, исключение не ловится!
There was 1 error:
1) QueryTest::testExceptionThrownWhenGettingInvalidProperty
Exception: Property qwerty does not exist
Я раньше использовал SimpleTest, и $this->expectException(new Exception("Property qwerty does not exist"));
работал просто отлично.Я знаю, что есть другие методы (@expectedException и try-catch), но этот должен работать, и он выглядит намного чище.Любые идеи, как я могу сделать эту работу?