#ios #swift #mocking #xctest #swift-protocols
#iOS #swift #издевательство #xctest #swift-протоколы
Вопрос:
Проблемы с Mockolo от Uber, сгенерированные тесты.
У меня есть протокол, соответствующий ProtocolB, протокол имеет аннотацию / оболочку @mockolo.
Вот мой код в original target
:
/// @mockable
protocol ProtocolA: ProtocolB {}
Однако ProtocolA.generated.swift показывает следующую ошибку:
// ProtocolAMock.generated: Type 'ProtocolAMock' does not conform to protocol 'ProtocolBmending'
Очевидно, что при повторном объявлении методов протокола в ProtocolB в сгенерированных файлах mocks файлов протокола ошибка исчезла.
Интересно, почему Mockolo не может распознать это, я также попытался добавить оболочку свойства @mockable для ProtocolB.
Я только начал использовать Uber / RIBs, любая помощь будет принята с благодарностью заранее 🙂
Спасибо Sai
Ссылка на ту же проблему, о которой сообщается на uber / mockolo GitHub.
Комментарии:
1. Это потому, что вы не внедрили методы ProtocolB в ProtocolA
Ответ №1:
Я обнаружил, что мой протокол B не был внутри источника для генерации mockolo.
Решение:
проверьте свой скрипт mockolo на этапах сборки
./mockolo -s ./Foo.swift -d ./OutputMocks.swift
убедитесь, что ваш protocol B
находится внутри каталога -s (ofc, также как и @mockolo :))