PHPUnit Exceptions

Lightning

Трудоголик
PHPUnit Exceptions

Если исключение ожидается один раз в методе, тогда все понятно: setExpectedException().
А что делать, если нужно протестировать несколько исключений в одном методе?

Т.е. к примеру
PHP:
public function testMethod1() {
    $object1 = new MyClass1( /* куча параметров */ );

    $object1->method1( 'value1' ); //должно выкинуть исключение

    $object1->method1( 'value2' ); //должно выкинуть исключение

    $object1->method1( 'value3' ); //должно выкинуть исключение

    //Как лучше всего протестить?
}
 

Fortop

Новичок
Разделить тест на несколько? :)

-~{}~ 27.04.10 01:04:

Там же не просто testMethod1()

а
PHP:
testMethod1ThrowException1()
testMethod1ThrowException2()
testMethod1ThrowException3()
 

fixxxer

К.О.
Партнер клуба
Лучше разделить на несколько.

Можно, конечно, и в лоб, типа

$CaughtException = null;
try {
$obj->foo();
} catch (Exception $CaughtException) {
// pass
}
$this->assertType('Exception', $CaughtException); // ну или not null или еще там как

но это как-то некрасиво :)
 
Сверху