Size: a a a

CocoaHeads Russia

2019 June 23

DS

Daniil S in CocoaHeads Russia
Dmitry
В случае с интеграционными тестами надо эмулировать состояние на энд поинте а значит полный доступ к бэку с доступом в бд или дергать еще пачку методов эндпоинта.

И получается что ты тестируешь не свой код а все.

В случае же с нормальным DI ты тестируешь свой код и у тебя есть возможность воспроизвести абсолютно любой кейс в своих юнит тестах.

К тому же интеграционные тесты сильно медленней юнит тестов
тебе как-то DI магическим образом доступ к беку обеспечивает? Ты обращаешься так и так к инстансу при тестировании, что такое интеграционное тестирование я понимаю. Я так и не понял как наличие синглтона мешает тебе писать юнит-тесты. Интеграционные медленее - да, но не менее важные.
источник

DS

Daniil S in CocoaHeads Russia
Dmitry
👍
не встречал, работа с сетевыми запросами и обращение в бд не создавали проблем
источник

DS

Daniil S in CocoaHeads Russia
Daniil S
тебе как-то DI магическим образом доступ к беку обеспечивает? Ты обращаешься так и так к инстансу при тестировании, что такое интеграционное тестирование я понимаю. Я так и не понял как наличие синглтона мешает тебе писать юнит-тесты. Интеграционные медленее - да, но не менее важные.
да и вообще по-хорошему бы замокать данные и все
источник

D

Dmitry in CocoaHeads Russia
Daniil S
тебе как-то DI магическим образом доступ к беку обеспечивает? Ты обращаешься так и так к инстансу при тестировании, что такое интеграционное тестирование я понимаю. Я так и не понял как наличие синглтона мешает тебе писать юнит-тесты. Интеграционные медленее - да, но не менее важные.
DI дает тебе возможность стабать error и data как тебе угодно
источник

DS

Daniil S in CocoaHeads Russia
Dmitry
DI дает тебе возможность стабать error и data как тебе угодно
источник

D

Dmitry in CocoaHeads Russia
Dmitry
DI дает тебе возможность стабать error и data как тебе угодно
В случае Firebase доступа к енд поинту у тебя никогда не будет
источник

IZ

Igor Zarubin in CocoaHeads Russia
Dmitry
DI дает тебе возможность стабать error и data как тебе угодно
DI контейнер или DI как принцип?
источник

IZ

Igor Zarubin in CocoaHeads Russia
DI ты можешь и с синглтоном реализовать
источник

D

Dmitry in CocoaHeads Russia
Я написал несколько проектов без DI и SOLID. Их страшно трогать. Теперь только SOLID KISS DRY DI.

Каждый волен писать код как хочет и умеет;)
источник

IZ

Igor Zarubin in CocoaHeads Russia
Dmitry
Я написал несколько проектов без DI и SOLID. Их страшно трогать. Теперь только SOLID KISS DRY DI.

Каждый волен писать код как хочет и умеет;)
так наличие синглтона не исключает DI
источник

D

Dmitry in CocoaHeads Russia
Igor Zarubin
DI контейнер или DI как принцип?
DI маст хэв. Контейнеры по необходимости ИМХО
источник

IZ

Igor Zarubin in CocoaHeads Russia
Dmitry
DI маст хэв. Контейнеры по необходимости ИМХО
так ты можешь делать DI и с синглтонами лол
источник

IZ

Igor Zarubin in CocoaHeads Russia
закрываешь сетевой слой/сервисный слой протоколом, стабаешь/мокаешь его и вся любовь
источник

IZ

Igor Zarubin in CocoaHeads Russia
никто тебе не мешает его и в синглтон прокинуть
источник

IZ

Igor Zarubin in CocoaHeads Russia
и синглтон замокать/застабать никто тоже не мешает
источник

IZ

Igor Zarubin in CocoaHeads Russia
то что стейт глобальный и инстанс висит в памяти все время это уже может создавать проблемы, но DI тут не причем
источник

D

Dmitry in CocoaHeads Russia
Igor Zarubin
никто тебе не мешает его и в синглтон прокинуть
Как ты будешь обнулять состояние в каждом тесте?

Ну можно конечно.

Но встает вопрос зачем тебе статик конструктор шаред инстанса)))
источник

IZ

Igor Zarubin in CocoaHeads Russia
Dmitry
Как ты будешь обнулять состояние в каждом тесте?

Ну можно конечно.

Но встает вопрос зачем тебе статик конструктор шаред инстанса)))
смотря насколько хитрый стейт)
источник

D

Dmitry in CocoaHeads Russia
Dmitry
Как ты будешь обнулять состояние в каждом тесте?

Ну можно конечно.

Но встает вопрос зачем тебе статик конструктор шаред инстанса)))
И придется в каждом тесте держать в голове у себя и всем тем кто будут тесты писать обнулен ли стейт или нет.

И вопрос исключительно времени когда кто нибудь выстрелит себе в ногу)
источник

D

Dmitry in CocoaHeads Russia
Пора бы завязывать с холиварчиком)))

А то вот вот начнут писать Никите про спам;)
источник