2015-12-30 12 views
5

Mam projekt, który ma wiele różnych celów/schematów (~ 38 z nich od napisania tego pytania) i staram się, aby testy jednostkowe działały poprawnie we wszystkich różnych celach. Mam działające rzeczy z jednym celem i próbowałem dodać mój cel testowy do wszystkich różnych schematów, ale wygląda to, gdy testy są uruchamiane dla każdego schematu, który faktycznie działają na tym samym, oryginalnym celu.Jak dynamicznie zmieniać miejsce docelowe dla testów jednostkowych w Xcode 7?

Po przejrzeniu pliku projektu widzę, że istnieje określona aplikacja hosta powiązana z moim celem testowania, a w ustawieniach kompilacji program ładujący pakiet i host testowy wskazują tę samą aplikację hosta.

Czy istnieje sposób na zastąpienie tych wartości dla każdego schematu, aby uruchomić testy względem bieżącego celu kompilacji bieżącego schematu? Lub w inny sposób skonfigurować pojedynczy cel testowy, by działał w wielu celach kompilacji?

Odpowiedz

5

Jeśli uruchomisz testy z wiersza poleceń lub z narzędzia CI, takiego jak Jenkins, możesz poinstruować xcodebuild, aby użyć ustawień kompilacji, które udostępniasz. Prostym przykładem użycia może być:

xcodebuild -scheme SomeScheme test TEST_HOST=target 

można (jeśli nie istnieje) kontrolować niemal budować ustawienie z Xcode, jak pokolenia pokrycie kodu, zbudować katalog, pochodzące katalog danych, kod identyfikacyjny znak, itd. To

+0

Niesamowite, to jest dokładnie to, czego szukałem. Dzięki! – sfeuerstein

1

Możesz wybrać schemat po uruchomieniu testów z serwerem Xcode.

Spójrz na WWDC 2014 kontynuuje rozmowę integracyjny na spacer przez, jak go skonfigurować

https://developer.apple.com/videos/play/wwdc2014-415/

To używając Xcode 6, ale to bardzo podobny proces do Xcode 7

także sprawdzić to CI (kontynuacja integracji) z Apple https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/adopt_continuous_integration.html

+0

byłoby super-miłe, gdybyś napisał odpowiedni moment czasu wideo. :) –

Powiązane problemy