我试图期望断言失败,然后我所有测试的集合不应该失败。
/**
* @expectedException Exception
*
*/
public function testGetAtlantisDriver(){
$object = null
$this->assertNotNull($object);
}
但这不起作用。
我得到的是断言失败
断言null不为空。
我预计测试会毫无失败地通过。我错了什么或我该怎么办才能通过?
谢谢
答案 0 :(得分:3)
当您的代码应该抛出异常时,将使用@expectedException批注。这不包括PHPUnit断言错误。你不能期望断言失败。
如果按照您的建议方式运行会出现问题: 假设你有一个带有一些断言的测试方法,然后是一些用@expectedException抛出异常的代码。然后,如果某些断言失败了,你就不会知道,因为测试仍然会通过。
如果断言不正确,那么您无法进行测试,并且这是测试框架所期望的。
您只能将测试标记为已跳过
$this->markSkipped("reason for skipping");
如果您想暂时禁用测试。