0
我想擴展PHPUnit的功能。如何測試PHPUnit_Framework_TestCase失敗時,預期的異常不會產生
我想擴展它的行爲,關於它如何允許測試聲明預期的Exception
被拋出。
我通過擴展PHPUnit_Framework_TestCase
,像這樣做到了這一點:
class Improved_TestCase extends PHPUnit_Framework_TestCase {
//...
}
的問題是,我現在需要編寫一個測試表明,如果@expectedException
沒有拋出,測試將失敗。
例如,我要表明,以下測試將失敗:
/**
* I want to write a TestTest that passes when these tests would fail
*/
class FooTest extends Improved_TestCase {
/**
* @expectedException Exception
*/
function testFooThrowsAnnotatedException()
{
Foo::thisWillNotThrowAnException();
}
function testFooThrowsSetException()
{
$this->setExpectedException('Exception');
Foo::thisWillNotThrowAnException();
}
}
上述測試應該失敗。但一些如何我需要寫一個測試,當上述測試失敗將通過。
我已經試過PHPUnit's tests source code,但我不知道如何或在哪裏測試預期的異常測試的工作。
從我可以告訴,我最好的猜測是@expectedException
behaviour is tested here,但它沒有任何意義,因爲這些測試將失敗如果PHPUnit的正常工作!