2013-11-09 2 views
0

В phpspec я могу проверить что-то вроде этого:phpspec - во время использования, но не используется?

function it_must_be_constructed_with_my_variable() 
{ 
    $this->shouldThrow(new \Exception('bla'))->during('__construct', array('variable' => 'value')); 
} 

Но что, если я хотел, чтобы убедиться, что исключение генерируется, если что-то не передается функции?

I.e. Я хочу сказать, что исключение будет выбрано, если переданный массив не равен некоторому значению.

+0

ли конструктор действительной цели для тестирования спецификации? Но, тем не менее, ваш вопрос можно переформулировать: как проверить, что что-то происходит, если параметр не передан? Мое первое предположение состояло в том, чтобы либо передать пустой массив параметров, либо полностью исключить его. – Sven

ответ

1

Я считаю, что вы можете просто сделать что-то вроде:

function it_should_throw_exception_if_constructed_with_wrong_variable() 
{ 
    $myWrongVariable = array('something' => 'wrong'); 
    $this->shouldThrow(new \Exception('bla'))->during('__construct', array($myWrongVariable)); 
} 
1

Если я правильно Вас понял, вы хотите проверить, что excpetion выбрасывается, когда пользователь проходит массив реализация не знает или является не в состоянии справиться.

Тогда вы могли бы просто взять пример и передать «неправильный» массив в качестве параметра