4
在PHPUnit我可以测试成功如果一类特定的呼叫适当抛出这样一个异常:如何使用PHPUnit的setExpectedException()?
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()来代替我上面的工作的例子吗?
你的第二个例子是正确的。你能指出什么不起作用吗? – Gordon 2011-01-10 11:32:11
`$ this-> setExpectedException('Exception');抛出新的异常();` - 如果你执行这个代码? – zerkms 2011-01-10 11:37:38