Я просто хотел узнать, какой метод лучше всего подходит для тестирования с помощью FormRequests и контроллеров - в частности, как можно проверить логику проверки.
Например, у меня есть набор классов запроса формы (PersonRequest)со следующим:
public function rules()
{
return [
'name' => 'required',
'address' => 'required',
'email' => 'email|required',
'website' => 'nullable|url'
];
}
И затем в моем контроллере я написал тесты для:
public function it_can_store_a_person();
public function it_cannot_store_a_person_without_a_name();
public function it_cannot_store_a_person_without_an_address();
public function it_cannot_store_a_person_without_an_email();
public function it_cannot_store_a_person_with_an_invalid_email();
public function it_cannot_store_a_person_with_an_invalid_website();
Тогда у меня были бы те же функции, но для «обновления», но это кажетсябыть повторением «сохраняющих» тестовых функций.
Это все работает, но кажется излишним и может столкнуться с большим количеством тестов, если бы критерии были больше.
Могу ли я написатьотдельный тест для проверки правил валидации (пример приведен в модульный тест FormRequest Laravel ) и игнорирование их в контроллере, поэтому просто проверяйте действительное сохранение и недопустимое сохранение.т. е.
public function it_can_save_a_person();
public function it_cannot_save_a_person_if_an_error_occurs();
Я также читал, что запросы FormRequest проходят внутреннее тестирование, и поэтому мне нужно проверить их снова.
Любые советы и рекомендации по передовым методам будут с благодарностью приняты.