2010-02-11 15 views
7

Sto lavorando su Swing, voglio sapere come fare efficacemente TDD per le mie applicazioni GUI.Come fare un TDD efficace per componenti altalene

ho già fatto qualcosa usando abate e fest ... ma mi sento ancora non è efficace,

è come fare Functional testing solo, se uno che ha buoni suggerimenti si prega di inviare ..

risposta

3

Ci sono due aspetti di TDD nella GUI. C'è la stessa configurazione della GUI (ad esempio il trascinamento della selezione) e poi c'è ciò che fa la GUI (premi questo pulsante per lanciare un URL in un browser web).

Per quanto riguarda la GUI stessa, consiglio Test subito dopo, dove si scrive un po 'di codice e si vede che Swing fa effettivamente ciò che si aspetta che faccia, e quindi si mette quel codice in un metodo testabile che blocca il comportamento . Continuerai a mantenerlo piccolo, quindi la tua necessità di testare le unità spinge alquanto il design, ma alla fine della giornata il framework Swing guida maggiormente il design.

Per quanto riguarda la GUI, mantieni la parte non testata il più sottile possibile e scrivi prima un test per una chiamata al metodo che fa ciò che ti serve. Ad esempio, l'aggiunta del listener di azioni potrebbe non essere verificata, ma il listener di azioni non fa altro che delegare a un metodo sottoposto a test.

A un certo punto, è necessario ricordare che si tratta di test di unità, quindi è certamente possibile che tutti i test vengano superati e che Swing non si comporti come si desidera. Non aspettarti che TDD ti doni di meglio. Anche i test funzionali hanno il loro posto.

Ho scoperto che Abbot può potenzialmente aiutare con il primo tipo di Test subito dopo, ma non abbastanza da giustificare lo strumento extra (nel nostro progetto abbiamo strutture che escono dalle nostre orecchie, quindi cerco di essere giudizioso su quanti noi usiamo).