Имеется метод в контроллере :
public function sendVeryficationEmail(Request $request) {
return $request->input('name');
}
как написать тест для этого метода?
Вот так не работает :
$response = $this->call('post', '/user/registerrequest',['name'=>'VasyaPupkin']);
ибо, как я понимаю чтобы вызвать тестируемый метод, как метод контроллера нужно передать ему каким-то образом объект request, которого он ожидает. Причем , в этом объекте может быть куча переменных, не однa , как приведенном упрощенном примере. Как сей объект request "замокать" - не ясно.
Разумеется, можно объявить этот метод без request , он может принимать просто строку (или массив), а вызывать его можно через другой метод, который можно не тестировать в ввиду простоты. Тогда тестирование можно будет делать без участия контроллера, что вроде бы гуд, но : Из одного метода получается ДВА, причем причина появления второго метода именно в удобстве тестирования, само приложение просто станет еще более запутанным. Это нормально или есть более элегантные решения без танцев с бубном ( у меня проблемы с хореографией)?
Спасибо.