首页 > 解决方案 > PHPUnit 处理测试中没有消息的异常

问题描述

在我的一个单元测试中,我有

try {
    throw (new UserInputException())->setUserMessage("--redacted--");
} catch (UserErrorException $exception) {
    $exceptionMessage = $exception->getUntranslatedMessage();

    $this->fail("A UserErrorException was thrown with message: $exceptionMessage");
}

UserInputException 是我们自己的类之一,异常由我们的框架处理。问题是没有以正常方式在其上设置消息,因此当在单元测试中引发异常时,它会在没有消息的情况下引发。

我的问题是,是否有可能像我在一个测试中所做的那样,在每次测试中始终捕获这种特定类型的异常?

标签: phpexceptionphpunit

解决方案


推荐阅读