Size: a a a

2021 July 30

А

Антон in symfony
Зачем тестировать замоканный метод? Мокают обычно зависимости.
источник

c

cyph3r in symfony
Зависимости обычно тестируются отдельно, а не в рамках другого сервиса
источник

PS

Pavel Smirnov in symfony
Доброго времени суток, подскажите как правильно составить запрос в билдере:
Имеются сущности Category и Article с отношением OneToMany (одна категория содержит несколько статей). Как выбрать только те категории, в которых есть хотя бы одна статья?
Пробовал варианты:
$qb->having('COUNT(c.articles) > 0');
$qb->andWhere('c.articles IS NOT NULL');
Выдает ошибку Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.

И да, если в категории будет огромное количество статей, не ляжет ли сервер от COUNT?
источник

А

Антон in symfony
А я не то же самое сказал? Я сказал:
1. Юнитами ты тестируешь реальный сервис, а не его мок (ну мол, тест всегда будет проходить, если ты замокаешь метод и укажешь, что он возвращает true). То же самое, что написать в тесте self::assertTrue(true).
2. Когда тестируешь часть функционала, его зависимости можно замокать (например, брокер или http клиент)
источник

c

cyph3r in symfony
ну вобще-то по-правильному кстати да. надо создавать реальный инстанс тестируемого сервиса, в котором замоканы зависимости
источник

А

Антон in symfony
Ну короче, в моем сообщении говорилось, что если ты тестируешь сервис, то сам сервис не надо мокать, только его зависимости.
источник

c

cyph3r in symfony
тогда будет выполнятся код реального сервиса и покрытие правильно отработает
источник

А

Антон in symfony
А лучше вообще не мокать, а юзать фейкы. Мы так делаем, например.
источник

c

cyph3r in symfony
я просто кинул пример для того чтоб было видно как мокать методы для зависимостей (они дергаются тестируемым сервисом)
источник

Е

Евгений in symfony
мне надо просто метод протестить
источник

DA

Danil Andreyev in symfony
Но ты тестишь мок, а не метод...
источник

Е

Евгений in symfony
та уже понял, пока не знаю как заинжектить объект правильно в тесты
источник

DA

Danil Andreyev in symfony
Защем инжектить?
источник

DA

Danil Andreyev in symfony
Потому что зависимости у UserService?
источник

Е

Евгений in symfony
да, в этом и проблема(
источник

DA

Danil Andreyev in symfony
Нет проблемы
источник

DA

Danil Andreyev in symfony
Делаешь new UserService
А в конструктор прокидываешь моки зависимостей как раз
источник

DA

Danil Andreyev in symfony
источник

DA

Danil Andreyev in symfony
И тестишь
источник

Е

Евгений in symfony
это правильно будет?
источник