Я подозреваю, что 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
, хотя ...