Недавно мы обсуждали, стоит ли менять инструмент мокирования в юнит-тестах.
У нас есть два решения:
🧩 SHInstantMock (построен на базе InstantMock) — динамический, мощный, с магией под капотом.
Работает в рантайме, позволяет многое, но требует аккуратности: MockUsable, runtime проверки, не всегда типобезопасно.
Мы написали свои макросы для него, чтобы сократить бойлерплейт — и это реально улучшило DX.
⚡️ Spyable — простой, макросный, статически типизированный.
Меньше магии, проще дебажить, порог входа ниже.
Хочется постепенно переписать «легаси» с InstantMock на Spyable.
Возможно, даже попробовать AI-помощника для автоматического переписывания моков и тестов.
И вот главный вопрос, который у нас возник 👇
🎯 Насколько вообще целесообразно обновлять стек инструментов, если старый ещё справляется?
Зачем это делать?
Но есть и обратная сторона:
По сути — мы осознанно создаём новое легаси для самих себя, надеясь, что новое решение будет более «здоровым» и предсказуемым.
#L #Swift #Testing #Mock #Macros #DX #AI #EngineeringPhilosophy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - pirishd/InstantMock: Create mocks easily in Swift
Create mocks easily in Swift. Contribute to pirishd/InstantMock development by creating an account on GitHub.