Size: a a a

Saint P Ruby Community

2019 September 13

T

Tharin in Saint P Ruby Community
фабриковать круговые зависимости - боль
источник

v

vveare138 in Saint P Ruby Community
ну в нем есть проблемы со связями
источник

v

vveare138 in Saint P Ruby Community
но в целом больно не было
источник

v

vveare138 in Saint P Ruby Community
мне понравился
источник

A

Alex in Saint P Ruby Community
Tharin
фабриковать круговые зависимости - боль
ммм, ну это вообще непросто и можно попасть в ловушку переусложненных фабрик
источник

T

Tharin in Saint P Ruby Community
ну вот вместо этого приходится писать в каждой спеке длинные портянки с фабрикацией каждой зависимости по-отдельности
источник

v

vveare138 in Saint P Ruby Community
Tharin
ну вот вместо этого приходится писать в каждой спеке длинные портянки с фабрикацией каждой зависимости по-отдельности
иногда это хорошо, более явно)
источник

A

Alex in Saint P Ruby Community
я лично, предпочитаю фабрики иметь простыми, а сложную подготовку сьютов делать через шареные контексты, либо хэлперметоды в локальных контекстах делать, которые используют фабрики
источник

v

vveare138 in Saint P Ruby Community
+
источник

T

Tharin in Saint P Ruby Community
ну вот шареные контексты - это так же не про явность, как и fabricate(:something, :with_something), кмк
источник

A

Alex in Saint P Ruby Community
Шареные контексты обычно лучше с семантической точки зрения, они определяют окружение их сложнее притащить туда, где их не должно быть. У fabricate(:something, :with_something) гораздо меньше ответственности.
источник

A

Alex in Saint P Ruby Community
Это вообще стандартная история, когда разработчик пишет новый спек и ищет по существующим, как же ему сгенерить этот :something, в итоге находит вызов фабрики с 10-ю прицепами копипастит и оставляет, т.к. тест проходит и ладно.
источник

A

Alex in Saint P Ruby Community
В результате раздутые фабрики с трейтами на разные случаи жизни, которые часто используются не по назначению и избыточным образом и спеки поторые выполняются сутки:)
источник

T

Tharin in Saint P Ruby Community
Что мешает ему точно так же притащить шареный контекст?
источник

T

Tharin in Saint P Ruby Community
Раздутый 🙂
источник

VD

Vla Dem in Saint P Ruby Community
Плюс контекстов ещё и в том, что их потом можно оптимизировать (что-то вынести в фикстуры или before_all); при этом не ломая совместимость
источник

A

Alex in Saint P Ruby Community
Это может быть технически сложнее, будет сильнее звонить в голове о том, что "я что-то делаю не так", проще отловить на кодревью:)
источник

A

Alex in Saint P Ruby Community
Vla Dem
Плюс контекстов ещё и в том, что их потом можно оптимизировать (что-то вынести в фикстуры или before_all); при этом не ломая совместимость
источник

СН

Смерть Неизбежна in Saint P Ruby Community
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Жизнь коротка. Бухайте побольше
https://github.com/cocktails-for-programmers
источник