Охват кода PHPUnit и исключения

Я подозреваю, что PHPUnit показывает, что 1 строка кода не охвачена модульными тестами из-за возникших исключений (но Я поймал)

У меня есть модульный тест, который должен охватывать эту строку

/**
 * @expectedException Doctrine\ORM\NoResultException
 */
public function testCannotLoginInvalidUser() {

  $user = User::login($this->em, 'nonExistant', 'password');
  $this->assertNull($user);

}

Почему мое покрытие кода все еще отражает то, что не покрыто?

Я провел тест ... добавил echo b4, возвращающий значение null ... Я обнаружил, что эта строка действительно не покрыта ...

try {
  $user = $query->getSingleResult();
} catch (Exception $e) {
  echo 'caught exception';  <-- this does not get executed. 
  return null;
}

Пропускает ли PHPUnit все выполнение при возникновении исключения?

UPDATE ]: Мне показалось, что я неправильно использую @expectedException , хотя ...

7
задан edorian 11 January 2012 в 11:32
поделиться