Я пытаюсь выполнить тестирование различных пользовательских входов FormRequest
. Я нашел, что решения:Unit Test Laravel's FormRequest
предлагают использовать метод
$this->call(…)
и утверждатьresponse
с ожидаемым значением (link to answer). Это избыток, поскольку он создает прямую зависимость от Маршрутизация и Контроллеры.тест Тейлора, из Laravel Frameworkfound in
tests/Foundation/FoundationFormRequestTest.php
. Там есть много насмешек и накладных расходов.
Я ищу решение, где я могу модульного тестирования отдельных полей входы против правил (независимо от других полей в одном запросе).
Образца СформироватьЗапрос:
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()
{
// ...
}
Как модульное тестирование (утверждает) каждое правило проверки каждого поля в отдельности и по отдельности?
Ну, как вы сказали, FormRequests тестируются внутри Laravel, поэтому вам не нужно их повторять, проверка также проверяется в Laravel. Я действительно не получаю то, что вы хотите проверить точно ... – PeterPan666
Это очень простая вещь, я ищу, чтобы проверить правила проверки, которые я установил для своих запросов формы. –
Итак, вы хотите проверить, разрешены ли 'XformRequest :: rules'' $ first_name === 'required''? – PeterPan666