如何使用PHPUnit的setExpectedException()?
发布时间:2020-12-13 22:29:41 所属栏目:PHP教程 来源:网络整理
导读:使用 PHPUnit,我可以成功测试对类的特定调用是否正确抛出如下异常: try { $dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn'); }catch (Exception $ex) { return;}$this-fail("Import_Driver_Excel::get_file_type_from_file_nam
使用
PHPUnit,我可以成功测试对类的特定调用是否正确抛出如下异常:
try { $dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn'); } catch (Exception $ex) { return; } $this->fail("Import_Driver_Excel::get_file_type_from_file_name() does not properly throw an exception"); 但我读了here,有一种更简单的方法,基本上在一行中使用setExpectedException(): class ExceptionTest extends PHPUnit_Framework_TestCase { public function testException() { $this->setExpectedException('InvalidArgumentException'); } } 但是我如何让它像上面的例子一样工作,即我想测试只有当我使用’BAD_NAME.nnn’进行特定调用时,类才会抛出此异常?这些变体不起作用: $dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn'); $this->setExpectedException('Exception'); 也不是这样 $this->setExpectedException('Exception'); $dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn'); 如何使用setExpectedException()替换上面的工作示例? 解决方法
你可以使用
expectedException annotation:
class ExceptionTest extends PHPUnit_Framework_TestCase { /** * @expectedException InvalidArgumentException */ public function testException() { $dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn'); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |