Как стать автором
Обновить

Комментарии 4

Я так понимаю, что классы МОКов нужно все-таки писать вручную, да? Сравнивали с Cuckoo? (https://github.com/Brightify/Cuckoo) Там кодогенерация, которая все МОКи генерирует автоматически и все что остается сделать в тестах:


let mockService = MockService()
let instance = Instance(service: mockService)

instance.someMethod()
verify(mockService).serviceMethod(parameter: equal(to: correctValue))
в этом и фишка кодогенерации — меньше кода вручную.
При этом добавляются моменты вроде «научится пользоваться тулзой кодогенерации», а в идеале ещё и автоматизировать этот процесс.

Плюс мне показалось неудобным то, что при подключении через SPM встроенный в Xcode 11 у нас по сути н предполагается лазить вовнутрь стянутого репозитория. Как следствие, тулзу кодогенераци нужно как-то собирать самостоятельно.

Но я так и не понял что удобнее: самому все время писать МОКи руками или научиться пользоваться тулзой кодогенерации один раз?


Плюс мне показалось неудобным то, что при подключении через SPM встроенный в Xcode 11 у нас по сути н предполагается лазить вовнутрь стянутого репозитория.

Это конкретно про Cuckoo или про какую-то другую тулзу?

> Это конкретно про Cuckoo или про какую-то другую тулзу?
да, с этим столкнулся с Cuckoo

> Но я так и не понял что удобнее
Мне лично больше нравится подход, когда написание моков является настолько простым, что не думаешь «эх, нагенерить бы...».
Генерация — это хорошо. Но не везде
1. Настроить генерацию занимает 30 минут +0..2 часа в зависимости от проекта. Писать мок (простой) — это 0.5..1 минута на интерфейс.
2. Генерацию надо а)уметь и б)передавать знания о поддержке
3. Для генерации приходится обычно «засорять» исходники и интерфейсы коментариями/избыточным наследованием (чтобы тулза знала, на что генерить, а на что — нет)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.