我想测试我的函数是否拒绝所有非正整数。它抛出一个 InvalidArgumentException。我写了一个这样的测试:
/**
* @test
* @expectedException InvalidArgumentException
*/
public function testXThrowsException()
{
$this->parser->x(1.5);
$this->parser->x('2');
$this->parser->x(1000E-1);
$this->parser->x(+100);
}
我的测试总是通过,因为第一个抛出异常。其他人没有得到适当的测试。我可以添加$this->parser->x(1);
到我的代码中,它仍然会通过。
我应该怎么做才能断言所有这些函数调用都会引发 InvalidArgumentException?