Frage

Ich möchte einige Tests für die GUI meiner Cocoa-Programm schreiben.

Gibt es eine gute GUI-Test-Framework für Cocoa-Anwendungen? Das einzige, was ich fand, ist Squish , die bei 2,400 € ist weit über mein Budget ...

Irgendwelche Ideen? Wie Sie Testen Sie Ihre Cocoa GUIs?

War es hilfreich?

Lösung

Es hängt davon ab, was Sie unter "Testen Cocoa GUIs."

Wenn Sie Tools wie das alte Virtual User Tool enthalten mit MPW, dann sind diejenigen, wenige & far between; Sie werden bei Tools wie Squish und Aubergine suchen werden.

Wenn Sie schreiben wollen Unit-Tests für Ihre Anwendung der menschlichen Schnittstelle, ich schlage vor, Sie folgen einem " Vertrauen, aber “Ansatz überprüfen, wo Sie em <> Vertrauen , solange Sie die richtigen Verbindungen machen (nach Ihrem Rahmen ), dass Ihre Benutzer ordnungsgemäß mit dem Rahmen zusammenwirken können. Das bedeutet, dass Sie die meisten Ihrer Tests durchführen kann durch Verifizieren Ihr Modell und Controller-Code korrekt an Ihren Ansichten angeschlossen.

Auf meinem Blog habe ich ein paar Beispiele geschrieben, wie dies mit Cocoa speziell zu tun, ein für Testen Benutzeroberflächen gebaut mit ziel Aktion und ein für Testen Benutzeroberflächen mit Cocoa Bindungen aufgebaut . (Denken Sie daran, natürlich, dass die beiden Technologien sind nicht exklusiv: Wenn Sie per Drag & Drop in einer Tabellenansicht über Cocoa Bindungen verwaltet tun möchten, können Sie auch eine Datenquelle haben würde und wahrscheinlich einen Delegierten über ziel Aktion angeschlossen ).

Das, was ich nicht schreiben Unit-Tests für - in der Regel - ist die Positionierung oder die Art der Kontrollen in ihrem Superview. Manchmal ist das wichtig zu bekommen und richtig zu halten, jedoch; in diesem Fall kann ich die entsprechenden Eigenschaften der Steuerelemente abfragen einfach und überprüfen sie die Standard-Assertions verwenden.

Was I so gut wie nie zu tun ist Schreibcode auf "Ereignisse simulieren." Die nächstgelegene ich jemals dazu kommen habe, ist ein gefälschtes Drag Info-Objekt konstruieren und nebenbei, dass zu einer Gliederungsansicht Datenquelle, um sicherzustellen, es richtig mit schleppt befassen.

Andere Tipps

Ich würde vorschlagen, dass Sie einen Blick auf Googles Toolbox for Macintosh . Es verfügt unter ein paar anderen Leckereien, eine sehr schöne Reihe von staatlichen und Rendering-Test Ergänzungen für NSView und CALayers. In Komponententests behaupten Sie, dass der Ansicht / Schichtzustand oder gerenderten Bild eine (nach Namen) Vorlage gespeichert einstimmt. Wenn die Vorlage existiert nicht im Testbündel oder nicht die gespeicherte Version überein, einen neuen codierten Zustand oder gerenderte TIFF wird für die Überprüfung erzeugt. GTM bietet Kategorien für NSView und CALayer Zustandscodierung und Rendering zu tun. Natürlich können Sie diese Kategorien auf Ihrem eigenen NSView oder CALayer Subklassen überschreiben, um relevanten Zustand zu kodieren (unter Verwendung des NSCoder-Protokoll) oder Rendering.

Es erlaubt Ihnen auch zu (leicht) programmatisch wichtige Ereignisse senden und die Laufschleife von mit Unit-Tests laufen und unterstützt Unit-Tests sowohl auf OS X und iPhone.

habe ich ein Open-Source-Python-Paket, das den Apple-Accessibility API unter anderem verwendet eine klassische GUI Automations-Bibliothek zu erstellen, können Ihnen Einblick in und Interaktion mit Cocoa GUIs zu geben. PyATOM Startseite

Sie können überprüfen und prüfen Aubergine von Testplant (formal Redstone Software) unter http://www.testplant.com / .

Hier ist ein Artikel, dass Apple auf sich im vergangenen Jahr vorgestellt.

Das neueste CocoaCast Podcast hat ein Interview mit Ian Dees den Autor von "Scripted GUI Testing mit Ruby". Sie können mehr unter CocoaCast

erfahren
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top