С помощью 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() для замены приведенного выше рабочего примера?
$this->setExpectedException('Exception'); throw new Exception();
-- что, если вы выполните этот код? - person zerkms   schedule 10.01.2011