Domanda

Vorrei scrivere alcuni test per l'interfaccia grafica del mio programma di cacao.

C'è un buon ambiente di test GUI per le applicazioni Cocoa? L'unica cosa che ho trovato è Squish , che, a 2.400 € , è ben oltre il mio budget ...

Tutte le idee? Come fare si testare il cacao GUI?

È stato utile?

Soluzione

Dipende da cosa si intende per "testare cacao GUI".

Se si desidera che gli strumenti come il vecchio virtual strumento di User incluso con MPW, poi quelli sono pochi e lontani tra loro; sarete alla ricerca di strumenti come Squish e melanzane.

Se si vuole scrivere unit test per l'interfaccia umana dell'applicazione, vi consiglio di seguire un " la fiducia, ma verificare approccio " dove fiducia che, fintanto che si sta facendo le giuste connessioni (secondo il vostro quadro ) che l'utente può interagire correttamente con il framework. Ciò significa che si può fare la maggior parte del test da Verifica il vostro modello e il codice di controllo sono collegati a vostro punto di vista in modo corretto.

Sul mio blog, ho scritto un paio di esempi di come fare questo in particolare con cacao, uno per interfacce utente test costruiti con l'obiettivo-action , e uno per test interfacce utente costruite con attacchi di cacao . (Ricordate, naturalmente, che le due tecnologie non sono esclusivi: Se si vuole fare il drag & drop in una vista tabella gestita tramite attacchi di cacao, devi anche avere una fonte di dati e, probabilmente, un delegato collegato tramite bersaglio-action .)

La cosa non scrivo unit test per - in generale - è il posizionamento o il tipo di controlli nella loro superview. A volte questo è importante per ottenere e mantenere corrette, tuttavia; in tal caso, posso solo interrogare le proprietà appropriate dei controlli e verificare utilizzando le affermazioni standard.

Quello che praticamente mai fare è scrivere il codice per "simulare eventi." Il più vicino che abbia mai a che sta costruendo un oggetto info trascinamento falso e passaggio che ad una vista origine dati contorno per assicurare che possa trattare con trascina correttamente.

Altri suggerimenti

Vorrei suggerire di dare un'occhiata a Google Toolbox per Macintosh . Essa ha, tra le altre chicche belle, un bel set di Stato e di rendering aggiunte di prova per NSView e CALayers. Nei vostri test di unità che si affermi che lo stato di visualizzazione / livello o ha reso l'immagine corrisponde un modello salvato (per nome). Se il modello non è presente nel pacchetto di prova o non corrisponde alla versione salvata, un nuovo stato codificato o resi TIFF è prodotto per la revisione. GTM prevede categorie per NSView e CALayer per eseguire la codifica di stato e il rendering. Ovviamente è possibile ignorare queste categorie sul proprio NSView o CALayer sottoclassi per codificare lo stato rilevante (utilizzando il protocollo NSCoder) o il rendering.

Si consente inoltre di (facilmente) inviare programatically eventi chiave ed eseguire il ciclo di fuga da con test di unità e supporta unità di test sia su OS X e iPhone.

ho creato un pacchetto di Python open source che utilizza l'API di Apple accessibilità tra gli altri per creare una libreria di automazione interfaccia grafica classica, è dare visibilità in e l'interazione con il cacao GUI. PyATOM home page

Si potrebbe verificare e prendere in considerazione Melanzana da TestPlant (formalmente Redstone Software) a http://www.testplant.com / .

Qui è un articolo che Apple ha caratterizzato il loro l'anno scorso.

L'ultima CocoaCast podcast di ha pubblicato un'intervista con Ian Dees l'autore di "Scripted GUI Test con Ruby". Potete saperne di più al CocoaCast

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top