С помощью 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 () для замены моего рабочего примера выше?