PHPUnit 7:无法断言抛出类型为\ InvalidArgumentException的异常

时间:2018-03-05 10:15:45

标签: php phpunit

我有这段代码:

public function method(){
  //...
  if(!$exist) {
      throw new \InvalidArgumentException('Ce client inexistant', 400);
  }
}

我执行此代码的UT:

public function methodTest(){
      //...
      if(!$exist) {
          $this->expectExceptionMessage("Ce client inexistant");
          $this->expectException("\InvalidArgumentException");
      }
    }

显示错误消息

  

声明“\ InvalidArgumentException”类型的异常失败   抛出。

我不知道我的代码中的错误在哪里。

3 个答案:

答案 0 :(得分:0)

尝试

      $this->expectException(\InvalidArgumentException::class);

而不是:

      $this->expectException("\InvalidArgumentException");

希望这个帮助

答案 1 :(得分:0)

我解决了我的问题。这是代码:

$ this-> throwException(new \ InvalidArgumentException(' Ce客户端不存在',400));

答案 2 :(得分:0)

对于那些遇到此问题的人,请尝试以下操作:

    $this->expectException(Exception::class);

    $client = self::createClient();
    $client->catchExceptions(false);

    $client->request(...);