我有一个像这样的代码:
public function one()
{
try {
$this->two();
} catch (Exception $E) {
$this->three();
}
}
如何测试调用$this->three()
函数?
我试图“通过代码模拟”$this->two()
并抛出错误而不是它的原始代码,但最终会被phpunit本身捕获到错误。
尝试了setExpectedException,但它也没有解决问题 - catch再次在phpunit中运行而被忽略。
在两种情况下都没有调用函数$this->three()
。
谢谢!
答案 0 :(得分:1)
问题在于所描述的方法位于一个类中,该类放在包含它自己的Exception实现的命名空间中。所以我在抛出\Namespace\Exception
的同时抓住\Exception
。
投掷了正确的异常。
@sectus,谢谢!