我有一个类似的代码:
public function one()
{
try {
$this->two();
} catch (Exception $E) {
$this->three();
}
}
如何测试调用了$this->three()
函数?
我尝试过"按代码模拟"$this->two()
并抛出错误,而不是它的原始代码,但最终错误被phpunit本身捕获。
尝试了setExpectedException,但它也没有解决问题——catch再次在phpunit中运行,只是被忽略了。
函数$this->three()
从未在这两种情况下调用过。
谢谢!
问题是所描述的方法位于一个类中,该类位于包含其自己的Exception实现的命名空间中。所以我在扔'Exception
的同时,还抓了一个'Namespace'Exception
。
抛出正确的异常就成功了。
@赛图斯,谢谢!