XCode4 Unit Testing und UIAutomation

8

Ich versuche, Tests in meiner Firma einzurichten, aber ich bin ein wenig unscharf über den besten Startweg.

Ich weiß, dass ich ein Framework für Komponententests verwenden kann, wie OCUnit, GHUnit oder SenTestingKit ... so weit, so gut. Ich kann ein Ziel machen, dessen Logik mein Projekt prüft, indem es Mock-Objekte verwendet.

Ich bin mir auch der Verwendung von UIAutomation und Javascript zur Steuerung und zum Testen der GUI bewusst.

Wenn ich nun ein ziemlich komplexes GUI-Feature implementiere, möchte ich meinen Code logisch testen und auch die GUI mit UIAutomation testen. Wie kombiniere ich diese beiden Methoden, oder sind sie getrennt zu behandeln? In diesem Fall gehe ich davon aus, dass ich zwei Testsätze in zwei verschiedenen Sprachen schreiben muss um ein Feature vollständig zu testen?

Nebenbei bemerkt: Wenn jemand gute Links für Ratschläge zum Beginn des Testens auf einer bereits ausgereiften und nicht so modularen Codebasis bereitstellen kann, wäre das sehr zu begrüßen.

Danke!

    
Sam 31.03.2011, 17:14
quelle

1 Antwort

4

UIAutomation basiert auf JavaScript. Testfälle sind Sammlungen von JavaScript-Dateien, die später von Instruments ausgeführt werden.

Ja, Sie müssen das separat machen:

  1. Es ist eine komplett andere Sprache (JS)
  2. Es wird nicht auf Xcode-Build ausgeführt, sondern von Instruments
  3. GUI-Tests haben einen anderen Testumfang als Unit- oder Logiktest. Auch wenn es Ähnlichkeiten mit logischen Tests gibt. Es wird auch getestet, ob sich die GUI "korrekt verhält".

Dieses Video könnte Ihnen helfen. Nehmen Sie sich eine Stunde Zeit und danach sollten Sie selbst entscheiden können (die UIAutomation-Sitzung).

Ссылка

Übrigens: Es gibt derzeit keine zufriedenstellende Möglichkeit, UIAutomation-Tests zu automatisieren (für Logik- und Unit-Tests gibt es einige). Zum Beispiel, um sie mit der kontinuierlichen Code-Integration zu kombinieren. Es gibt Diskussionen darüber, aber ich habe bisher keine Lösung gesehen. Alles in allem können Sie ein wenig damit spielen, aber für ernsthafte Tests ist UIAutomation immer noch nicht anwendbar:

  1. Keine Testautomatisierung
  2. Keine Trennung von Testfällen. Wenn ein Fall in Ihrer Choreographie fehlschlägt, können alle folgenden Tests nutzlos sein.
Rene Berlin 04.04.2011, 09:56
quelle