2012-11-06 9 views
6

Wenn ich versuche, den Komponententest für meine Projekte auszuführen, bekomme ich den Test erfolgreich. Aber im Lognavigator werde ich gewarnt, dass 'Alle Tests nicht beendet' wurden. Aber der gleiche Code funktioniert in einer anderen Maschine und alle Tests sind ohne Warnung erfolgreich. Ich suchte nach anderen Posts, die damit in Verbindung standen und versuchte alles, aber nichts funktioniert für mich. Und plötzlich versagen einige Komponententests ohne jeden Grund, aber es gelingt mir, wenn ich es wieder benutze. Ich habe sogar versucht, den Simulator neu zu starten, nichts funktioniert.Alle Tests wurden nicht abgeschlossen - xcode 4.5

Irgendwelche Vorschläge?

+0

Und noch eine Sache, die ich bemerkte, ist, dass ich die Tests in der xcode-Konsole erfolgreich sehen konnte, aber irgendwie werden diese Testfälle nicht in die Testergebnisprotokolldatei geschrieben. Und ich bin mir nicht sicher, ob es ein Timing-Problem ist. – Lollypop

+0

Ich sehe das Gleiche. Ich habe 9 Tests gebaut, 8 die bestanden haben und 1 die fehlgeschlagen sind (absichtlich). Alle Tests werden in der Konsole als abgeschlossen angezeigt, aber nur vier werden im Log Navigator angezeigt. –

+0

schauen Sie in das Build Log/run log und sehen Sie, ob es einen Grund dafür gibt (nicht in warnings/errors tab! Build Log!) –

Antwort

5

die Sie interessieren ... öffnen Sie ein Terminal in Ordner Ihres Projekts und geben Sie den folgenden:

xcodebuild -list 

Wenn Sie Unit Tests in Ihrem Projekt haben, sollten Sie mindestens zwei Ziele sehen: Projektname und ProjectNameTests.

Nun geben Sie den folgenden Befehl ein (Anmerkung: Sie werden rund um die ProjectNameTests Anführungszeichen benötigen, wenn es Leerzeichen enthält):

xcodebuild -target ProjectNameTests build 

Sie werden mit ziemlicher Sicherheit so etwas wie die folgenden gegen Ende der Ausgabe sehen:

Sie können dies in Xcode beheben, indem Sie Ihr Projekt im Projektnavigator (Cmd-1) auswählen, Ihr ProjectNameTests-Ziel auswählen, Build-Einstellungen auswählen und bis zum Bereich Unit Testing scrollen. Ändern Sie die Einstellung Test After Build von Nein zu Ja, und geben Sie Cmd-U ein, um die Komponententests erneut auszuführen. Diesmal sollte es funktionieren.

Hoffe, das hilft!

+0

Ihre Lösung funktioniert in meinem Mac, funktioniert aber nicht in einem anderen Mac für das gleiche Projekt. – Lollypop

0

Sieht aus wie Sie diese Warnung erhalten, wenn Sie OCMOCK verwenden und Sie versuchen, sich selbst zu verspotten. Sobald ich das änderte, behob es mein Problem.

Verwandte Themen