In Xcode bekomme ich am Ende meiner Unit Tests ein Ergebnis wie folgt:
Testsuite 'Alle Tests' abgeschlossen am 2012-12-06 10:23:38 +0000
195 Tests wurden ausgeführt, mit 0 Fehlern ( 0 unerwartet ) in 4.314 (4.485) Sekunden
Ich würde gerne herausfinden, wie ich Tests mit erwarteten Fehlern definieren kann.
Normalerweise möchte ich bei anderen Test-Frameworks nur unvollständige Komponententests definieren, die an zukünftige Arbeiten erinnern. Diese Tests sollten nur als Warnungen protokolliert werden, aber immer noch ein Endergebnis "Erfolg" ergeben, wenn alles andere OK ist
Betrachtet man die Ausgabe von Xcode, nehme ich an, dass es einen Weg gibt, dasselbe zu erreichen. Jedoch habe ich Probleme, das richtige Makro zu finden, um unvollständige / TODO-Tests zu markieren. Außerdem erscheint es mir merkwürdig, dass normale Fehler wie folgt gemeldet werden:
95 Tests wurden ausgeführt, mit 1 Fehler (0 unerwartet) in 2.314 (2.334) Sekunden
Daher scheint jeder Test Assertion Failure zu erwarten. In diesem Fall bin ich sogar verwirrt mit der Bedeutung von (0 unerwarteten) Fehlern.
Könnte jemand die Bedeutung dieses Teils der Log-Ergebnisse erklären? Wie kann er verwendet werden? Wie kann ich unvollständige Tests markieren?
Ein "unerwarteter Fehler" ist eine ausgelöste und nicht behandelte Ausnahme. Im Gegensatz zu einem möglicherweise erwarteten Fehler, der durch eine Assertion überprüft wird.
OCUnit bietet keine Möglichkeit, Tests als "nicht ausführen" zu markieren. Sie können sie entweder auskommentieren (wodurch das Risiko besteht, dass der Test nicht mehr kompiliert wird) oder den Methodennamen ändern, sodass er kein "Test" -Präfix hat. Benennen Sie beispielsweise testSomething in XXXtestSomething um. (Dies lässt das Risiko, dass Sie vergessen, es zurück zu ändern.)
Eine Lösung für mein Problem ist die Verwendung des Warn-Präprozessor-Makros, um Komponententests zu markieren, die abgeschlossen werden müssen. Auf diese Weise bekomme ich nach der Erstellung von Komponententests einen guten Überblick über zukünftige Arbeiten. Dies wird im Warnungsfenster angezeigt, daher ist es viel attraktiver, als nur TODO-Kommentare zu verwenden.
Ich möchte jedoch lieber eine Gesamtanzahl unvollständiger Tests und die Bedeutung der immer "0 unerwarteten" Anzahl meiner Protokollberichte herausfinden.
Tags und Links unit-testing xcode testing cocoa ocunit