Size: a a a

2021 March 18

ПГ

Павел Г. in symfony
Sergei Baikin
Ну в плане вот запрос скрыт в функционале и даже не светится
а тут мы его в обертку и пользуйтесь други дорогие помоему сокрытие страдает

Ну и нейминг приватной функции против нейминга обертки не вижу разницы существенной
Я чет короче не понимаю :)

Я вижу так. С оберктой:
$obertka->getActiveList()
Без обертки:
$em->getRepo()->createQb()->....fetchAll()
источник

КГ

Константин Грачев... in symfony
Павел Г.
Я чет короче не понимаю :)

Я вижу так. С оберктой:
$obertka->getActiveList()
Без обертки:
$em->getRepo()->createQb()->....fetchAll()
Ещё можно $em->getRepo()->match(new ActiveListQuery())
Но я этот паттерн так ни разу и не попробывал на практике(
источник

ПГ

Павел Г. in symfony
Константин Грачев
Ещё можно $em->getRepo()->match(new ActiveListQuery())
Но я этот паттерн так ни разу и не попробывал на практике(
Ну я так понимаю что то типо спецификаций напихать.
источник

КГ

Константин Грачев... in symfony
Павел Г.
Ну я так понимаю что то типо спецификаций напихать.
да. Такое легко мокать и можно тестировать отдельно
источник

КГ

Константин Грачев... in symfony
В теории. Практики не было у меня
источник

ПГ

Павел Г. in symfony
Константин Грачев
да. Такое легко мокать и можно тестировать отдельно
Я  все равно не понимаю, почему мокать и тестировать обертку - сложнее.
источник

КГ

Константин Грачев... in symfony
Павел Г.
Я  все равно не понимаю, почему мокать и тестировать обертку - сложнее.
Не отвечу, но в целом не вижу объективных причин совать всё в один класс
источник

ПГ

Павел Г. in symfony
Павел Г.
Ну я так понимаю что то типо спецификаций напихать.
Опять таки, чтобы это затестировать, мы создаем мок em, который возвращает мок repo, который мы уже конфигурирует под фикстуры. Где же тут легкость...
источник

КГ

Константин Грачев... in symfony
Павел Г.
Опять таки, чтобы это затестировать, мы создаем мок em, который возвращает мок repo, который мы уже конфигурирует под фикстуры. Где же тут легкость...
Вот так делать как раз таки не надо
источник

ПГ

Павел Г. in symfony
Константин Грачев
Не отвечу, но в целом не вижу объективных причин совать всё в один класс
Да я не про вопрос в один класс. 1 запрос = 1 класс нет проблем. Но это все равно обертка будет над голым qb
источник

ПГ

Павел Г. in symfony
Константин Грачев
Вот так делать как раз таки не надо
И как же по другому замокать $em->getRepo()->match(new ActiveListQuery()) чтобы вернуть фикстуры?
источник

AK

Anton K. in symfony
Константин Грачев
нет, если сложить всё говно в одно место то с чистотой тут никакой связи нет)
Ну бизнес логику на сервер бд перееносить не ок
источник

AK

Anton K. in symfony
Не портабельно
источник

КГ

Константин Грачев... in symfony
Павел Г.
Да я не про вопрос в один класс. 1 запрос = 1 класс нет проблем. Но это все равно обертка будет над голым qb
У тебя есть класс, который тебе надо протестировать. Ты передаёшь ему на вход свою обёртку. Мокнутю обёртку. Свою.
И на изи тестируешь свой класс
источник

КГ

Константин Грачев... in symfony
Anton K.
Не портабельно
Кому и где эта портабельность нужна?
источник

КГ

Константин Грачев... in symfony
Ну и там нет логики, это просто вьюхи
источник

ПГ

Павел Г. in symfony
Константин Грачев
У тебя есть класс, который тебе надо протестировать. Ты передаёшь ему на вход свою обёртку. Мокнутю обёртку. Свою.
И на изи тестируешь свой класс
Ну так и я про это. Что обертка - выручает) Вы же гвоорите что вообще без обертки. Или я короче потерял нить
источник

КГ

Константин Грачев... in symfony
Хранимых процедур в бд я не пишу, если ты об этом
источник

AK

Anton K. in symfony
А кому и где нужна не портабельность?
источник

КГ

Константин Грачев... in symfony
Павел Г.
Ну так и я про это. Что обертка - выручает) Вы же гвоорите что вообще без обертки. Или я короче потерял нить
Если без обёртки то пишется не юнит тест, где qb НЕ мокается и тесты реально ходят в базу за реальными данными
источник