我在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"的异常失败是 抛出。
我不知道代码中的错误
答案 0 :(得分:1)
以下变体之一将起作用:
$this->setExpectedException('InvalidArgumentException', 'Le tage n\'existe pas');
$this->setExpectedException(\InvalidArgumentException::class, 'Le tage n\'existe pas');
请注意,这是一次通常在测试开始时进行的调用。此外,您的测试用例中的条件看起来很奇怪。测试不应该是有条件的。