Size: a a a

Laravel для начинающих

2021 March 04

AB

Alex B in Laravel для начинающих
Alex B
пишешь эндпойнт для этого валидитора, и тестируешь его успешность и не успешность, с 422 и 201/200
выполняя обычные http requests
источник

AB

Alex B in Laravel для начинающих
Леша А.
Добрый день. Извиняюсь за большое сообщение.. Подскажите, пожалуйста. Есть определенный функционал, хочу написать тесты, учусь еще. Я сейчас начну с unit, и, надеюсь, я правильно понимаю для чего они нужны, просьба не ругаться)
У меня есть свой Request  с правилами валидации полей из формы, я хочу написать тест, который делает проверку данных на валидацию... Гуглю второй день и что-то не могу понять) Нашел способ с Mockery (который у меня так и не заработал), но потом на laravel.com прочитал: "You should not mock the Request facade. Instead, pass the input you desire into the HTTP helper methods such as get and post when running your test. Likewise, instead of mocking the Config facade, call the Config::set method in your tests." я сделал $this->call('post', '/роут', $params); роут на контроллер, метод store. но.. я так понимаю, что у меня будет выполняться функционал этого метода, верно? Каким образом будет ПРАВИЛЬНО протестировать валидацию? Спасибо огромное!
это уже не совсем юнит тест, а интеграционный тест
источник

ЛА

Леша А. in Laravel для начинающих
Alex B
выполняя обычные http requests
Ну то есть через this->call(), верно?)
источник

ЛА

Леша А. in Laravel для начинающих
Alex B
это уже не совсем юнит тест, а интеграционный тест
Вот это поворот..
источник

AB

Alex B in Laravel для начинающих
Леша А.
Ну то есть через this->call(), верно?)
нет, глянь доку по http tests
источник

AB

Alex B in Laravel для начинающих
Леша А.
Ну то есть через this->call(), верно?)
источник

AB

Alex B in Laravel для начинающих
сам класс валидатора ты не тестируешь,  а его работу в рамках http
источник

A

Alexandr in Laravel для начинающих
Alex B
пишешь эндпойнт для этого валидитора, и тестируешь его успешность и не успешность, с 422 и 201/200
а юнитом нельзя чисто рулезы для валидатора реквеста првоерить?
источник

AB

Alex B in Laravel для начинающих
нет, зачем тебе оно?
источник

ЛА

Леша А. in Laravel для начинающих
Alex B
нет, глянь доку по http tests
А понял, видел. Хорошо, если он будет размещен в папке tests/unit, то это будет неправильно?
источник

A

Alexandr in Laravel для начинающих
Alex B
сам класс валидатора ты не тестируешь,  а его работу в рамках http
а если так не подходит
источник

AB

Alex B in Laravel для начинающих
а вот если ты написал какой-то независимый от ларавеля код, то тестируешь юнит тестами с моками
источник

AB

Alex B in Laravel для начинающих
Леша А.
А понял, видел. Хорошо, если он будет размещен в папке tests/unit, то это будет неправильно?
нет, оно будет в Features
источник

AB

Alex B in Laravel для начинающих
по дефолту команда создания теста создает интеграционные тесты
источник

AB

Alex B in Laravel для начинающих
чтобы создать юнит тест, нужно добавить флаг  —unit
источник

ЛА

Леша А. in Laravel для начинающих
Alex B
по дефолту команда создания теста создает интеграционные тесты
--unit делал
источник

AB

Alex B in Laravel для начинающих
Alexandr
а если так не подходит
не нахожу такого кейса чтобы тестить форм реквест классы в моках
источник

AB

Alex B in Laravel для начинающих
Alexandr
а юнитом нельзя чисто рулезы для валидатора реквеста првоерить?
а зачем тебе оно?
источник

AB

Alex B in Laravel для начинающих
Леша А.
Вот это поворот..
ничего сложного
источник

A

Alexandr in Laravel для начинающих
ну не хочу я для тестов писать ндпоинты
источник