Как написать тест с модулем diffrence? у меня инициализатор недоступен из-за "внутреннего" уровня защиты

У меня есть модуль A и модуль B. Мой тестовый класс написан на A. и импортировал B как @testable import B. Все в порядке, пока я не получил это предупреждение

Инициализатор Models.SetLanguage.Response недоступен из-за «внутреннего» уровня защиты

Структура Models, SetLanguage, Response, каждая из которых определена как общедоступная.

Я понятия не имел, почему я не могу получить доступ к структуре общедоступного модуля B из тестового класса модуля A.

public struct  Models {

   public struct SetLanguage {
    /// Data struct sent to Interactor
    public struct Request {
      let language: Language
    }
    /// Data struct sent to Presenter
    public struct Response {
      let result: Result<Language>
    }
    /// Data struct sent to ViewController
    public struct ViewModel {
      let content: Content<Language>
    }
  }

person SuperPop Papapo    schedule 31.05.2019    source источник


Ответы (1)


Просто используйте open вместо public

Код:

open struct  Models {    
   open struct SetLanguage {
    public struct Request {
      let language: Language
    }
    open struct Response {
      let result: Result<Language>
    }
    open struct ViewModel {
      let content: Content<Language>
    }
  }
person Hitesh Surani    schedule 31.05.2019