2016-06-03 2 views
0

Я работаю над существующим приложением Laravel и пытаюсь создать для него набор тестов. Я использую библиотеку Mockery, чтобы издеваться над зависимостями класса, который я тестирую, но я попал в блокпост, который, похоже, не оборачивается.Inject Laravel Свойство ввода в объект сеанса Mockery

$leadRepositoryInterface = m::mock('CRM\Storage\Lead\LeadRepositoryInterface'); 
$response = m::mock('ColorJar\ApiResponse\Response'); 

$object = new LeadsController($leadRepositoryInterface, $response); 

Я получаю сообщение об ошибке при запуске предшествующую кода, поскольку родительский класс LeadsController проверяет ввод :: все() [__ CurrentUser] и аварии из-за ввод :: все() ничего не возвращает.

Мне нужно установить переменную фасада в Laravel (я уверен, что я злоупотребляю терминологией там, извините) любому пользователю в моей системе, но я не вижу нигде в документах Mockery о том, как установить свойство из издевающегося объекта, я вижу только, как устанавливать ожидания и возвращать значения. Как мне это сделать? Будет ли Laravel разрешить мне установить возврат Input :: all()?

ответ

0

Вы не можете отмахиваться от ответа от входного фасада, но можете издеваться над базовым классом, который является Request. Затем вы сделали бы что-то вроде этого:

Request::shouldReceive('input->all')->andReturn('someValue'); 
+0

Спасибо за ответ. Мне пришлось немного перейти к другому проекту, но я попробую это, когда вернусь к этому. На первый взгляд, похоже, похоже, что это сработает для моих целей. Благодаря! Я приму свой ответ, когда смогу проверить это. – brianfr82

 Смежные вопросы

  • Нет связанных вопросов^_^