【发布时间】:2015-07-27 14:44:19
【问题描述】:
我开始使用 phpunit 并遇到了这个问题,我想知道处理它的最佳方法是什么。我正在测试以下功能:
/**
* @expectedException PHPUnit_Framework_Error
*/
function testSetAdsData_dataIsNull()
{
$dataArr = null;
$fixture = new AdGroup();
$fixture->setAdsData($dataArr);
$this->assertEmpty($fixture->ads);
$this->assertEmpty($fixture->adIds);
}
现在$fixture->setAdsData($dataArr); 行会抛出我想要的异常,这没关系,但问题是以下两个断言不会执行。所以我读到它并明白如果我想执行以下两个断言我需要使用 try/catch ,所以我的问题是,
这样做的正确方法是什么?
我试过这样做:
/**
* @expectedException PHPUnit_Framework_Error
*/
function testSetAdsData_dataIsNull()
{
$dataArr = null;
$fixture = new AdGroup();
try{
$fixture->setAdsData($dataArr);
} catch (Exception $e){
$this->assertEmpty($fixture->ads);
$this->assertEmpty($fixture->adIds);
}
}
但现在没有抛出异常。我应该这样离开它并从顶部删除期望部分还是有更好的方法来做到这一点?谢谢
【问题讨论】: