La mia app è composta da molti progetti (framework), uno per ogni funzionalità principale e un framework comune con tutti i tipi di cose a cui devo accedere in più delle mie funzionalità.
Sto usando Swift Package Manager di Xcode 11 per aggiungere dipendenze.
Il framework comune contiene una dipendenza RxSwift, che utilizzo in tutto il progetto.
Sto riscontrando problemi quando provo ad utilizzare RxTest in uno qualsiasi dei miei framework di funzionalità.
Se aggiungo RxTest tramite SPM direttamente alla destinazione del test ed eseguo i test, ottengo
impossibile districare la superclasse di "nome classe" dal nome alterato "altro nome classe"
e molti
La classe "nome classe" è implementata sia nel "percorso quadro comune" che nel "percorso target di prova"
dove tutte queste classi sono correlate a Rx. L'errore "impossibile sminuire" arresta il test e si verifica solo quando provo a inizializzare una classe RxTest.
Se aggiungo RxTest al framework comune, i test funzionano bene, ma quando eseguo l'app, ottengo
dyld: libreria non caricata: @ rpath / XCTest.framework / XCTest
Il che ha senso, perché sto aggiungendo un framework di test a un framework non di test, e non è qualcosa di buono da fare.
Quindi, fondamentalmente, non sono riuscito a ottenere una configurazione in cui sia i test che l'app funzionino correttamente. L'app viene eseguita o i test vengono eseguiti.
Come posso farlo funzionare? C'è un modo per includere RxTest nel framework comune solo quando lo costruisco su un target di test? O RxTest dovrebbe essere incluso solo negli obiettivi del test e mi manca qualche configurazione?