PH惩罚测试捕获块


PHPunit to test catch block

我有一个类似的代码:

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

抛出正确的异常就成功了。

@赛图斯,谢谢!