2011-07-16 14 views
14

Tak więc, nie mogę sobie pozwolić na wymyślenie tego. Rozejrzałem się i nie mogę znaleźć żadnych informacji na ten temat.Opcja "Testuj po kompilacji" w kodzie X 4 nie działa

Chcę, aby moje testy jednostkowe ZAWSZE działały KAŻDY czas, kiedy buduję swój kod w XCode. Przeczytałem wiele postów, w tym this question tutaj. Postępowałem zgodnie z instrukcjami do tego listu, a kompilacja nie przeprowadzi testów.

Co mam zrobić:

  • Mój zestaw testowy jest zależność cel mojego głównego kompilacji
  • Moim głównym budowanie jest „Test Po produkcji” ustawiony na Tak
  • wszystkich testów w ramach faza "testowa" na schemacie jest dostępna i jest sprawdzana pod warunkiem, że testy przeprowadzane są ręcznie, jeśli wykonuję testy ręcznie - poprzez cmd + U lub menu - sprawdzam:

Dodałem test na awarię, aby spróbować zmusić kompilację do awarii - więc mogę być pewny, że działają. Kompilacja nadal przebiega dobrze, a testy nigdy nie są uruchamiane.

Jestem przekonany, że przegapiłem tu krok, ale dla mojego życia nie mogę znaleźć żadnej dokumentacji związanej z tym. Czy ktoś ma jakieś inne rady lub kroki, które powinienem robić?

+3

Czy dodałeś swój "cel testowy" w sekcji "Test" ustawień głównego celu? Aby to zrobić, edytuj główny schemat docelowy, kliknij sekcję "Test" z lewego panelu, a na prawym panelu dodaj cel testowy. Następnie przejdź do sekcji "Kompilacja" z lewego panelu, aw prawej sekcji zaznacz cel "Uruchom" dla ciebie. mam nadzieję, że ci to pomoże! – Learner

+0

@Learner Tak, już to zrobiłem. Wygląda na to, że jest to problem z wersją XCode, której używam - wraz z niektórymi innymi błędami błędów i tym podobnych, które znajduję. Szkoda, że ​​nie wydadzą aktualizacji dla Snow Leopard. – aperkins

+0

@ Komentarz dla mnie pracował, zauważyłem, że nie ustawiłem mojego projektu testowego do ustawienia schematu budowy głównego celu. –

Odpowiedz

0

W fazach budowy głównego celu dodaj nową fazę tworzenia skryptu Run. Zawartość skryptu powinno być:

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

To będzie uruchomić testy - ale tylko wtedy, gdy można go znaleźć .octest plików generowanych przez projekt. RunUnitTests chce, aby PRODUCT_NAME była nazwą twojego testu jednostkowego, a WRAPPER_EXTENSION za .octest (są to zmienne Xcode). Jeśli twoim głównym celem jest zagregowany cel, który ma twoje testy ORAZ twoją aplikację jako zaległości, prawdopodobnie możesz sprawić, żeby to działało z myślą o tym.

8

Nie ma znaczenia, czy opcja "Testuj po kompilacji" jest ustawiona na "tak" lub "nie" w docelowym pliku "Coś.app". Trzeba tylko ustawić "Testuj po kompilacji" na YES w celu testowym urządzenia. Upewnij się również, że zarówno "Test", jak i "Uruchom" są wybrane dla celu testowego jednostki w edytorze schematu w opcjach zakładki "Kompilacja". Aby zobaczyć wyniki, kliknij widok Log Navigator> Navigators> Show Log Navigator (polecenie 7).

+0

Myślę, że to powinna być akceptowana odpowiedź. Jest to pierwsza, którą widziałem w różnych formach tego pytania, aby wszystko było w porządku, bez wielu dodatkowych kroków "voodoo", które nie są częścią rozwiązania. Dzięki, @Jared! –

Powiązane problemy