[英]PHPUnit 5.6: setExpectedException InvalidArgumentException
[英]How to use PHPUnit's setExpectedException()?
使用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");
但我在這里讀到有一種更簡單的方法 ,基本上在一行中使用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批注 :
class ExceptionTest extends PHPUnit_Framework_TestCase
{
/**
* @expectedException InvalidArgumentException
*/
public function testException()
{
$dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.