Domanda

Sto pensando di scrivere test di fumo per la nostra applicazione WPF. La domanda che mi trovo di fronte è: dovremmo utilizzare l'automazione interfaccia utente (o qualche altra tecnologia che crea uno script UI), o è abbastanza buono da utilizzare direttamente (ViewModels dopo tutte le ViewModels sono stati creati per rendere unit testing più facile in un primo posto ).

È stato utile?

Soluzione

Abbiamo usato per scrivere i nostri test di integrazione (test di fumo, se volete) utilizzando direttamente i ViewModel. Ha funzionato, ma abbiamo dovuto affrontare alcuni problemi di threading interessanti: ciò che accade, ad esempio, se il vostro ViewModel provoca una finestra di messaggio da mostrare - come fa il test chiudere la finestra di messaggio? Abbiamo dovuto fare in modo che la nostra applicazione è in esecuzione su un thread ed i nostri test su un altro.

Abbiamo ora spostato verso UIAutomation e quel tipo di problemi andare via perché i vostri test e l'applicazione sono esplicitamente in esecuzione in due processi separati. C'è un po 'di una curva di apprendimento coinvolti, ma UIAutomation non è così spaventoso come appare a prima vista: ho scritto un esercitazione che potrebbero aiutarti a iniziare -. seguire il link e troverete anche alcuni metodi di supporto che domare l'API di automazione interfaccia utente un po '

Altri suggerimenti

Non c'è alcun motivo per cui non si può scrivere Unità i test per i tuoi ViewModels se sono adeguatamente separate dal vostro punto di vista.

Un fumo test è un test che in realtà incendi fino vostra applicazione e controlli che funziona e (per un'applicazione con un'interfaccia utente) Automazione interfaccia utente è la strada da percorrere per questo.

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