Size: a a a

2021 March 21

s

s4b0t in Laravel Pro
Павел Г.
Мне не нужно тестирование БД, я про тестирование без БД как раз спрашиваю
->make(); создаёт объект без записи в базу
источник

ПГ

Павел Г. in Laravel Pro
s4b0t
->make(); создаёт объект без записи в базу
Это опять про создание фикстуры. Я создам через make, но если я вызову у этого объекта $fixture->comments()->save($data) - то будет или ошибка или запрос в БД
источник

LS

Liamin Serhii in Laravel Pro
Павел Г.
Это опять про создание фикстуры. Я создам через make, но если я вызову у этого объекта $fixture->comments()->save($data) - то будет или ошибка или запрос в БД
Ну ты можешь написать свою прослойку, или замокать все save, но зачем ?)
источник

ПГ

Павел Г. in Laravel Pro
class service{
public function action($dto){
    $model = $this->repo->get($dtp->id)
   /// тут сложная логика создания $data
  $model->relation()->save($data);
  $repo->save($model);
}
}
Как такое юнит тестировать? Понятно что я могу вынести логику в отдельное место. Получается выход забить болт на мокирование $model->relation()->save($data); и данный код тестировать только интеграционно с базой?
источник

ПГ

Павел Г. in Laravel Pro
Liamin Serhii
Ну ты можешь написать свою прослойку, или замокать все save, но зачем ?)
Вот  я и спрашиваю как делают инит тесты в Ларавел :)
источник

ПГ

Павел Г. in Laravel Pro
Павел Г.
class service{
public function action($dto){
    $model = $this->repo->get($dtp->id)
   /// тут сложная логика создания $data
  $model->relation()->save($data);
  $repo->save($model);
}
}
Как такое юнит тестировать? Понятно что я могу вынести логику в отдельное место. Получается выход забить болт на мокирование $model->relation()->save($data); и данный код тестировать только интеграционно с базой?
Хотя данный код вообще получается гибридом каким то. Нет смысла от репо, раз у нас save  в сервисе
источник

LS

Liamin Serhii in Laravel Pro
Павел Г.
Вот  я и спрашиваю как делают инит тесты в Ларавел :)
Model-relation-save - плохо, вынести в репозиторий и замокай
источник

ПГ

Павел Г. in Laravel Pro
Liamin Serhii
Model-relation-save - плохо, вынести в репозиторий и замокай
Ну вот я такой вариант предлагал, но это дрочь какой то :( столько лишних методов будет в репо что ппц
источник

ПГ

Павел Г. in Laravel Pro
Это типо норм в active record?
источник

LS

Liamin Serhii in Laravel Pro
Павел Г.
Ну вот я такой вариант предлагал, но это дрочь какой то :( столько лишних методов будет в репо что ппц
Single responsible никто не отменял )
источник

LS

Liamin Serhii in Laravel Pro
А вообще лучше функциональные тесты, я такой то юзер, шлю запрос по такому адресу, в ответ получаю то то, но это если АПИ
источник

s

s4b0t in Laravel Pro
Павел Г.
Ну вот я такой вариант предлагал, но это дрочь какой то :( столько лишних методов будет в репо что ппц
всё тестирование один большой дрочь. Тут так там так. Про что вопрос? если ты тестишь связь с базой то тебе нужна база. Если просто работу сервиса с моделью есть фабрики.
источник

LS

Liamin Serhii in Laravel Pro
s4b0t
всё тестирование один большой дрочь. Тут так там так. Про что вопрос? если ты тестишь связь с базой то тебе нужна база. Если просто работу сервиса с моделью есть фабрики.
+
источник

s

s4b0t in Laravel Pro
Обычно тесты на пустой базе делают или на куске живой базы. потому как там ещё тот пиздец может быть в данных. Заоодно и скорости выборок и прочего.
источник

ПГ

Павел Г. in Laravel Pro
s4b0t
всё тестирование один большой дрочь. Тут так там так. Про что вопрос? если ты тестишь связь с базой то тебе нужна база. Если просто работу сервиса с моделью есть фабрики.
Вопрос про то, что в DataMapper у меня не будет методов у репозитория $repo->addRelation, $repo->deleteRelation . А без этих методов в active record не получится нормально юнит тестировать.  
Хотя есть еще один выход, вообще не делать репо, а всю тестируемую логику складывать в чистые функции.
источник

ПГ

Павел Г. in Laravel Pro
s4b0t
Обычно тесты на пустой базе делают или на куске живой базы. потому как там ещё тот пиздец может быть в данных. Заоодно и скорости выборок и прочего.
Я про тесты без базы
источник

ПГ

Павел Г. in Laravel Pro
Павел Г.
Вопрос про то, что в DataMapper у меня не будет методов у репозитория $repo->addRelation, $repo->deleteRelation . А без этих методов в active record не получится нормально юнит тестировать.  
Хотя есть еще один выход, вообще не делать репо, а всю тестируемую логику складывать в чистые функции.
Ну точнее репо делать в качестве именованного склада запросов, не более
источник

ПГ

Павел Г. in Laravel Pro
А write операции делать напрямую через модели прямо в сервисном слое.
источник

АХ

Александр Хакимов... in Laravel Pro
Ребят , всем привет! имеем ошибку связануую с JSON респонс.

есть следующий код, который успешно работал.

входная точка
https://paste.ofcode.org/zKm5EzE7ae3NMAqSUh96uB

единый формат респонса
https://paste.ofcode.org/Ws4Cik4uWSNsFFDepqCpS5

ошибка
https://paste.ofcode.org/WiH3G2KJ4RHP2jxRmg4VkN
источник

АХ

Александр Хакимов... in Laravel Pro
200 работает нормально, когда вызываю метод error который в catch сидит , оно начинает ругаться.
источник