Moja aplikacja składa się z wielu projektów (frameworków), po jednym dla każdej głównej funkcji i wspólnej frameworku z różnego rodzaju rzeczami, do których muszę uzyskać dostęp w wielu moich funkcjach.
Korzystam z Menedżera pakietów Swift pakietu Xcode 11, aby dodać zależności.
Wspólny framework zawiera zależność RxSwift, której używam w całym projekcie.
Napotykam problemy, gdy próbuję użyć RxTest w dowolnej strukturze frameworka.
Jeśli dodam RxTest przez SPM bezpośrednio do celu testowego i uruchomię testy, otrzymam
nie udało się oddzielić nadklasy „nazwy klasy” od zniekształconej nazwy „inna nazwa klasy”
i wiele
Klasa „nazwa klasy” jest zaimplementowana zarówno w „wspólnej ścieżce środowiska”, jak i „ścieżce docelowej testu”
gdzie wszystkie te klasy są związane z Rx. Błąd „nie udało się odkamienić” powoduje zawieszenie testu i występuje tylko wtedy, gdy próbuję zainicjować klasę RxTest.
Jeśli dodam RxTest do wspólnego frameworka, testy działają poprawnie, ale kiedy uruchamiam aplikację, otrzymuję
dyld: Biblioteka nie załadowana: @ rpath / XCTest.framework / XCTest
To ma sens, ponieważ dodałem szkielet testowy do szkieletu nie testowego i nie jest to coś dobrego.
Zasadniczo nie byłem w stanie uzyskać konfiguracji, w której zarówno testy, jak i aplikacja działają poprawnie. Albo uruchomi się aplikacja, albo uruchomią się testy.
Jak mogę to uruchomić? Czy istnieje sposób na włączenie RxTest do wspólnego frameworka tylko wtedy, gdy zbuduję go na testowym celu? A może RxTest powinien być zawarty tylko w testowych obiektach docelowych i brakuje mi konfiguracji?