我想測試我的函數拒絕所有非正整數。它引發一個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?
非常好,謝謝! – Sherlock