Издевательство, указывающее ожидаемые аргументы для нескольких вызовов

Я пытаюсь смоделировать объект, который получает два вызова одной и той же функции, но с разными аргументами. Довольно просто вернуть разные возвращаемые значения для нескольких вызовов, но я нигде не могу найти, как это сделать с проверкой аргументов.

Я старался:

$this->eventDispatcher
->shouldReceive('dispatch')
->twice()
->with(Events::SELECT,\Mockery::type('\Not\Really\A\Namespace\Event'))
->with(Events::ACTIVITY,\Mockery::type('\Not\Really\A\Namespace\Event');

А также

$this->eventDispatcher
->shouldReceive('dispatch')
->twice()
->with(
[Events::SELECT,\Mockery::type('\Not\Really\A\Namespace\Event')],
[Events::ACTIVITY,\Mockery::type('\Not\Really\A\Namespace\Event')]
);

Но они не Работа.

Из вывода PHPUnit дает мне кажется, что я получаю массив?

10

Решение

Ну, это было быстро; P Видимо, вы можете сделать это, и все работает просто отлично:

$this->eventDispatcher
->shouldReceive('dispatch')
->with(Events::SELECT,\Mockery::type('\Not\Really\A\Namespace\Event'));

$this->eventDispatcher
->shouldReceive('dispatch')
->with(Events::ACTIVITY,\Mockery::type('\Not\Really\A\Namespace\Event');
15

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]