使用 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");
Run Code Online (Sandbox Code Playgroud)
但我在这里读到有一种更简单的方法,基本上在一行中使用setExpectedException():
class ExceptionTest extends PHPUnit_Framework_TestCase
{
public function testException()
{
$this->setExpectedException('InvalidArgumentException');
}
}
Run Code Online (Sandbox Code Playgroud)
但是我如何让它像上面的例子一样工作,即我想测试这个类是否只有在我用“BAD_NAME.nnn”进行特定调用时才会抛出这个异常?这些变体不起作用:
$dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn');
$this->setExpectedException('Exception');
Run Code Online (Sandbox Code Playgroud)
也不是这个:
$this->setExpectedException('Exception');
$dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn');
Run Code Online (Sandbox Code Playgroud)
如何使用 setExpectedException() 替换上面的工作示例?
您可以使用预期异常注释:
class ExceptionTest extends PHPUnit_Framework_TestCase
{
/**
* @expectedException InvalidArgumentException
*/
public function testException()
{
$dummy = Import_Driver_Excel::get_file_type_from_file_name('BAD_NAME.nnn');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8992 次 |
| 最近记录: |