2012-11-06 15 views
6

Quando provo a eseguire il test dell'unità per i miei progetti, ottengo il test riuscito. Ma nel navigatore del registro ricevo un avviso che dice "Tutti i test non sono finiti". Ma lo stesso codice funziona bene su un'altra macchina e tutti i test hanno esito positivo senza preavviso. Ho cercato altri post relativi a questo e ho provato tutto, ma niente funziona per me. E anche improvvisamente alcuni unit test falliscono senza alcuna ragione, ma succede quando lo eseguo di nuovo. Ho persino provato a resettare il simulatore, niente funziona.Tutti i test non sono terminati - xcode 4.5

Qualche suggerimento?

+0

E un'altra cosa che ho notato è che ho potuto vedere i test che hanno avuto successo nella console xcode, ma in qualche modo quei casi di test non vengono scritti nel file di registro dei risultati del test. E non sono sicuro se sia un problema di temporizzazione. – Lollypop

+0

Sto vedendo la stessa cosa. Ho costruito 9 test, 8 che passano e 1 che fallisce (di proposito). Tutti i test vengono mostrati come completati nella console, ma solo quattro vengono visualizzati nel Log Navigator. –

+0

guarda nel log di build/run log e vedi se c'è una ragione per quella (scheda inwarnings/errors! Build log!) –

risposta

5

Prova questo ... aprire un terminale nella cartella del progetto e digitare il seguente:

xcodebuild -list 

Se si dispone di unit test nel progetto si dovrebbe vedere almeno due obiettivi: ProjectName e ProjectNameTests.

Ora digitare il seguente comando (nota: è necessario virgolette le ProjectNameTests se ha spazi):

xcodebuild -target ProjectNameTests build 

Sarà quasi certamente vedere qualcosa di simile a quanto segue verso la fine dell'output:

È possibile risolvere questo problema in Xcode selezionando il progetto nel Project Navigator (Cmd-1), selezionando il target ProjectNameTests, selezionando Build Settings e scorrendo verso il basso fino alla sezione Unit Testing. Modificare il test dopo l'impostazione di generazione da No a Sì e digitare Cmd-U per eseguire nuovamente i test di unità. Questa volta dovrebbe funzionare.

Spero che questo aiuti!

+0

la tua soluzione funziona nel mio mac ma non funziona in un altro mac per lo stesso progetto. – Lollypop

0

Sembra ricevere questo avviso se si sta utilizzando OCMOCK e si tenta di prendere in giro "sé". Una volta che ho cambiato questo, ha risolto il mio problema.

Problemi correlati