PHPUnit 5.6:setExpectedException InvalidArgumentException

时间:2018-02-06 09:27:25

标签: php phpunit

我在PHP中有这个代码:

public function customersMethod()
{
    //...

    if (0 == count($customers)) {
        throw new \InvalidArgumentException("Le tage n'existe pas", 400);
    }
}

我用这段代码嘲笑它:

   /**
     * @covers \Models\Customers::customersMethod()
     */
    public function customersMethodTest()
    {
        //...

        if(count($tag) == 0){
            $this->setExpectedException('\InvalidArgumentException', 'Le tage n\'existe pas');
        }
    }

显示错误消息:

  

声明类型" \ InvalidArgumentException"的异常失败是   抛出。

我不知道代码中的错误

1 个答案:

答案 0 :(得分:1)

以下变体之一将起作用:

$this->setExpectedException('InvalidArgumentException', 'Le tage n\'existe pas');

$this->setExpectedException(\InvalidArgumentException::class, 'Le tage n\'existe pas');

请注意,这是一次通常在测试开始时进行的调用。此外,您的测试用例中的条件看起来很奇怪。测试不应该是有条件的。