Mi aplicación se compone de muchos proyectos (marcos), uno para cada característica principal y un marco común con todo tipo de cosas a las que necesito acceder en varias de mis características.
Estoy usando el Administrador de paquetes Swift de Xcode 11 para agregar dependencias.
El marco común contiene una dependencia RxSwift, que utilizo en todo el proyecto.
Tengo problemas cuando intento usar RxTest en cualquiera de mis marcos de funciones.
Si agrego RxTest a través de SPM al objetivo de prueba directamente y ejecuto las pruebas, obtengo
no pudo exigir la superclase de 'nombre de clase' del nombre destrozado 'otro nombre de clase'
Y muchos
La clase 'nombre de clase' se implementa tanto en 'ruta de marco común' como en 'ruta de destino de prueba'
donde todas estas clases están relacionadas con Rx. El error 'falló al demangle' bloquea la prueba y solo ocurre cuando intento inicializar una clase RxTest.
Si agrego RxTest al marco común, las pruebas funcionan bien, pero cuando ejecuto la aplicación, obtengo
dyld: Biblioteca no cargada: @ rpath / XCTest.framework / XCTest
Lo cual tiene sentido, porque estoy agregando un marco de prueba a un marco que no es de prueba, y no es algo bueno para hacer.
Básicamente, no pude obtener una configuración en la que tanto las pruebas como la aplicación funcionen bien. O se ejecuta la aplicación o se ejecutan las pruebas.
¿Cómo puedo hacer que esto funcione? ¿Hay alguna manera de incluir RxTest en el marco común solo cuando lo construyo en un objetivo de prueba? ¿O debería incluirse RxTest en los objetivos de prueba y me falta alguna configuración?