Модульный тест FormRequest от Laravel
Я пытаюсь юнит тестировать разные кастомыFormRequest
входы. Я нашел решения, которые:
Предложить использование$this->call(…)
метод и отстаиватьresponse
с ожидаемым значением(ссылка на ответ), Это излишне, потому что это создает прямую зависимость отмаршрутизация а такжеКонтроллеры.
Тест Тейлора, изLaravel Framework нашел в tests/Foundation/FoundationFormRequestTest.php
, Там много издевательств и накладных расходов.
Я ищу решение, в котором я могу тестировать входные данные отдельных полей в соответствии с правилами.(независимо от других полей в том же запросе).
Образец FormRequest:
public function rules()
{
return [
'first_name' => 'required|between:2,50|alpha',
'last_name' => 'required|between:2,50|alpha',
'email' => 'required|email|unique:users,email',
'username' => 'required|between:6,50|alpha_num|unique:users,username',
'password' => 'required|between:8,50|alpha_num|confirmed',
];
}
Желаемый тест:
public function testFirstNameField()
{
// assertFalse, required
// ...
// assertTrue, required
// ...
// assertFalse, between
// ...
}
public function testLastNameField()
{
// ...
}
Как я могу юнит тест(Утверждают) каждое правило проверки каждого поля изолированно и индивидуально?