Abbiamo appena iniziato a utilizzare FitNesse e finora sono soddisfatto della decisione. Una breve panoramica:
- Scrivi i tuoi test in un Wiki.
- Si scrive un modulo 'test fixture' (che può essere un assembly C#) che fornisce il ponte tra i "test" nel Wiki e il SUT (System Under Test).
- Quando si eseguono i test, il motore di FitNesse utilizza il riflesso per tradurre i test wiki in chiamate all'assieme di dispositivi di prova, che a sua volta chiama SUT. I valori di ritorno vengono passati al Wiki in modo da poterli "asserire".
L'interfaccia pubblica del codice del dispositivo di prova è in effetti la lingua utilizzata per scrivere i test nel Wiki. Non sono sicuro di averlo spiegato molto bene, ma ci sono molte risorse e video sul web. Raccomando this one da Bob Martin, autore di FitNesse.
ho scelto FitNesse per una serie di motivi:
- consolidate quadro
- opere con .NET utilizzando FitSharp plugin: http://fitnesse.org/FitNesse.DotNet
- perché i test del Wiki sono scritti nella lingua di definire nel tuo codice apparecchio, sono leggibili
- test possono essere chiamati tramite riga di comando, che vogliamo per l'integrazione continua.
- Robusto 1: se l'interfaccia del SUT cambia, è necessario solo modificare il codice del dispositivo di test, non i test
- Robusto 2: non stiamo testando il livello dell'interfaccia utente volatile.
Ci vuole un po 'di tempo per abituarsi, ma lo trovo molto più affidabile del nostro attuale concetto di test attraverso l'interfaccia utente. Lo facciamo al momento in un'applicazione home-brew, che funziona riproducendo le azioni dell'interfaccia utente preregistrate e confrontando le schermate. Quando i test sono rossi, è raro che il SUT sia effettivamente rotto. In genere abbiamo problemi di temporizzazione con i controlli dell'interfaccia utente che non reagiscono all'istante, quindi dobbiamo creare ritardi tra le azioni dell'interfaccia utente, il che significa che impiega tutta la notte per eseguire l'intera suite di test.
Come FitNess si adatta a .NET. Capisco che è un framework per Java –
Funziona correttamente con .NET. Il framework fitnesse funziona come un'applicazione java, ma con il plug-in FitSharp può essere utilizzato con il codice del dispositivo di prova .NET. Vedi http://fitnesse.org/FitNesse.DotNet – GarethOwen