Тестирование FormRequests в Laravel - PullRequest
0 голосов
/ 28 января 2019

Я просто хотел узнать, какой метод лучше всего подходит для тестирования с помощью 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 проходят внутреннее тестирование, и поэтому мне нужно проверить их снова.

Любые советы и рекомендации по передовым методам будут с благодарностью приняты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...