Мій додаток складається з безлічі проектів (фреймворків), по одному для кожної основної функції та загальної рамки зі всілякими речами, до яких мені потрібно отримати доступ у кількох своїх функціях.
Я використовую Swift Package Manager Xcode 11 для додавання залежностей.
Загальна основа містить залежність RxSwift, яку я використовую протягом усього проекту.
Я стикаюся з проблемами, коли намагаюся використовувати RxTest в будь-якій моїй функції.
Якщо я додаю RxTest через SPM до тестової цілі безпосередньо та проведу тести, я отримаю
не вдалося демантувати надклас "ім'я класу" від невідомого імені "інше ім'я класу"
і багато
Клас "ім'я класу" реалізовано як у "загальному контурному шляху", так і в "тестовому цільовому шляху"
де всі ці класи пов'язані з Rx. Помилка 'не вдалося демангувати' руйнує тест і виникає лише тоді, коли я намагаюся ініціалізувати клас RxTest.
Якщо я додати RxTest до загальної основи, тести працюють нормально, але коли я запускаю програму, я отримую
dyld: Бібліотека не завантажена: @ rpath / XCTest.framework / XCTest
Що має сенс, тому що я додаю тестовий фреймворк до нетестової системи, і це не щось добре робити.
Таким чином, я не зміг отримати конфігурацію, коли і тести, і додаток працюють нормально. Або запуск програми, або тести.
Як я можу це налагодити? Чи є спосіб включити RxTest до загальної основи лише тоді, коли я будую його на тестовій цілі? Або RxTest повинен бути включений лише до тестових цілей, і мені не вистачає певної конфігурації?