Страница 1 из 1

returnArgument в PhpUinit

Добавлено: 2019.12.03, 11:52
Chelobaka
Здравствуйте,

У меня есть сервисы общения с апи.
В метод сервиса я передаю объект и получаю его обратно с установленными значениями. Например Город, ай ди заказа.
Я хочу проверить что метод сетит правильные данные.

Как мне можно это протестировать?
То есть я могу вернуть аргумент переданный в метод но как его изменить до возврата? Или тут я могу просто проверить что метод вызывается и в дальнейшем тестировать его отдельно или как то это можно сделать через анонимную функцию?

Код: Выделить всё


       $service = $this->getMockBuilder(OrderService::class)
            ->setMethods(['setOrder'])
            ->getMock();

        $service->method('setOrder')
            ->will($this->returnArgument(0));
            
 // сам метод вызывается так
 
 $service->setOrder(ActiveRecord);


Передается модель потому что не все апи работают одинаково и каждая может менять свои параметры. В одном случае нужно будет менять город, в другом город и индекс.

Re: returnArgument в PhpUinit

Добавлено: 2019.12.04, 07:27
maleks
Вы по моему не правильно понимаете что такое стабы и моки.
Ими перекрываются одни методы чтобы тестировать другие методы.
Т.е. ими имитируется ожидаемое окружение.