PHPUnit не обнаруживает ожидаемых исключений

У меня есть набор тестов, и я хочу проверить, что мои классы генерируют исключения в правильное время. В этом примере мой класс использует магический метод __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 («Свойство qwerty не существует»)); работал нормально. Я знаю, что есть и другие методы (@expectedException и try-catch), но этот должен работать и выглядит намного чище. Есть идеи, как я могу это сделать?

6
задан Nathan MacInnes 11 November 2010 в 20:34
поделиться