Мокирующие задания в laravel 5.2 Модульное тестирование

Я довольно новичок в модульном тестировании. Меня попросили написать модульный тест в моем приложении. В моем приложении у нас есть контроллеры и сервисы. Я пытаюсь издеваться над заданием, вызываемым из контроллера, как это.

$this->expectsJobs(App\Jobs\UploadResponseEmail::class);

Это вызывает следующую ошибку

production.ERROR: Mockery\Exception\NoMatchingExpectationException: не найден соответствующий обработчик для Mockery_0_Illuminate_Bus_Dispatcher::dispatch(object(App\Jobs\UploadResponseEmail)). Либо метод был неожиданным, либо его аргументы не соответствовали ожидаемому списку аргументов для этого метода.

у задания есть конструктор, который ожидает аргумент. Я думаю, что это вызывает ошибку. Как я могу передать здесь аргумент конструктора. Есть идеи ?


person Pramod Sivadas    schedule 29.01.2016    source источник


Ответы (1)


Вам нужно добавить издевательства в файл composer.json, если вы используете lumen. В Laravel он есть по умолчанию, поэтому ваш вопрос касается Lumen, а не Laravel.

"mockery/mockery": "0.9.*",

Даже в Laravel 5.1 это было: https://github.com/laravel/laravel/blob/5.1/composer.json

Там, где в Lumen 5.2 он отсутствует: https://github.com/laravel/lumen/blob/v5.2.1/composer.json

person azngunit81    schedule 20.06.2016