Così ho seguito this tutorial per installare i test delle unità sulla mia app quando mi sono bloccato.Implementazione dell'unità Test con l'SDK dell'iPhone
A bullet point 8 in quella tutorial mostra questa immagine, che è quello che dovrebbe essere in attesa quando costruire: alt text http://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iphone_development/art/logic_test_failure_text_editor.jpg
Tuttavia questo non è ciò che ottengo quando costruire. Viene visualizzato questo messaggio di errore: Command /bin/sh failed with exit code 1
e il messaggio di errore creato dal test dell'unità. Poi, quando mi spieghi il primo errore ottengo questo:
PhaseScriptExecution "Run Script" "build/3D Pool.build/Debug-iphonesimulator/LogicTests.build/Script-1A6BA6AE10F28F40008AC2A8.sh"
cd "/Users/james/Desktop/FYP/3D Pool"
setenv ACTION build
setenv ALTERNATE_GROUP staff
...
setenv XCODE_VERSION_MAJOR 0300
setenv XCODE_VERSION_MINOR 0320
setenv YACC /Developer/usr/bin/yacc
/bin/sh -c "\"/Users/james/Desktop/FYP/3D Pool/build/3D Pool.build/Debug-iphonesimulator/LogicTests.build/Script-1A6BA6AE10F28F40008AC2A8.sh\""
/Developer/Tools/RunPlatformUnitTests.include:412: note: Started tests for architectures 'i386'
/Developer/Tools/RunPlatformUnitTests.include:419: note: Running tests for architecture 'i386' (GC OFF)
objc[12589]: GC: forcing GC OFF because OBJC_DISABLE_GC is set
Test Suite '/Users/james/Desktop/FYP/3D Pool/build/Debug-iphonesimulator/LogicTests.octest(Tests)' started at 2010-01-04 21:05:06 +0000
Test Suite 'LogicTests' started at 2010-01-04 21:05:06 +0000
Test Case '-[LogicTests testFail]' started.
/Users/james/Desktop/FYP/3D Pool/LogicTests.m:17: error: -[LogicTests testFail] : Must fail to succeed.
Test Case '-[LogicTests testFail]' failed (0.000 seconds).
Test Suite 'LogicTests' finished at 2010-01-04 21:05:06 +0000.
Executed 1 test, with 1 failure (0 unexpected) in 0.000 (0.000) seconds
Test Suite '/Users/james/Desktop/FYP/3D Pool/build/Debug-iphonesimulator/LogicTests.octest(Tests)' finished at 2010-01-04 21:05:06 +0000.
Executed 1 test, with 1 failure (0 unexpected) in 0.000 (0.002) seconds
/Developer/Tools/RunPlatformUnitTests.include:448: error: Failed tests for architecture 'i386' (GC OFF)
/Developer/Tools/RunPlatformUnitTests.include:462: note: Completed tests for architectures 'i386'
Command /bin/sh failed with exit code 1
Ora questo è molto strano in quanto è in esecuzione dei test (e riuscendo, come si può vedere il mio tiro STFail), perché se posso aggiungere una prova diversa che passa non ho errori, quindi i test stanno funzionando bene. Ma perché sto facendo fallire questa build extra?
Potrebbe anche essere utile notare che quando si scaricano soluzioni/modelli che dovrebbero risolvere il problema, si ottiene lo stesso errore. Sto indovinando che ho impostato qualcosa di sbagliato qui, ma ho appena seguito un tutorial al 100% correttamente !! Se qualcuno potesse aiutarmi, sarei molto grato!
Grazie
EDIT: Secondo this blog, this post e pochi altri siti web, io non sono l'unico a ottenere questo problema. È stato così dal rilascio di xCode 3.2, supponendo che i documenti e le esercitazioni del centro di sviluppo della mela ecc. Siano pre-3.2.
Tuttavia alcuni dicono che è un problema noto mentre altri sembrano pensare che sia stato intenzionale. Io per uno vorrei sia la console estesa e nei messaggi di codice, e certamente non mi piace l'errore "Command/bin/sh ..." e penso davvero che avrebbero documentato un tale aggiornamento. Spero che verrà riparato presto comunque.
UPDATE: Ecco la conferma è qualcosa è cambiato dal rilascio di xCode 3.2.1.
Questa immagine: alt text http://ing0.co.uk/info/pics/unittest-xcode-3.2.1.png proviene dal mio test di build utilizzando 3.2.1. Questo è da una versione precedente (3.1.4): alt text http://ing0.co.uk/info/pics/unittest-xcode-3.1.4.png. (Il progetto per entrambi è rimasto invariato).
Modifica: URL immagine aggiornati.
Sto ricevendo lo stesso problema in 3.2.5 (64-bit Intel Core i3, OSX 10.6.6) – Vamos
Bello per te la taglia, ma non sono così sicuro che ci sarà una risposta! –
C'è una tomba, mi sembra di avere dei test funzionanti. – Vamos