Sono a un punto in cui mi piacerebbe iniziare a scrivere test unitari per la mia applicazione MVC. Ho già capito come testare il controller e posso testare le mie librerie aziendali sottostanti senza alcun problema. Vengo scollarsi su un paio di elementi però:Come posso unire le viste di test e gli attributi di autorizzazione della mia applicazione asp.net mvc in nUnit?
Come faccio a unità di prova le mie opinioni? Cioè, dopo che un controller ha restituito la vista corretta (che ho testato unitamente, unitamente al test dell'unità per verificare che stia passando i dati corretti). C'è un modo per testare l'unità che la vista sta visualizzando i dati corretti nei campi corretti in nUnit o ho bisogno di uno strumento diverso per questo scopo?
Come si esegue il test dell'unità per la sicurezza? Sto usando un provider di appartenenza personalizzato e un provider di ruoli che di per sé credo sia un'unità testabile come qualsiasi altro componente: ho appena aggiornato il provider e controllo che ognuno dei metodi restituisca l'output previsto. Ciò di cui sono curioso è come testare unitamente che ognuno dei miei metodi di controllo sta ricevendo le informazioni sulla sicurezza corrette dai miei fornitori [vale a dire unità che verifica che l'attributo Authorize funzioni correttamente]?
Per i controller e verso il basso, tendo a utilizzare nUnit: ho già familiarità con i test delle unità a livello di libreria, quindi non è un problema. Devo ammettere che non ho mai sentito parlare di Slim o StoryTeller quindi li controllerò. Controllerò il Selenium per il test della vista. – BobTheBuilder
Il selenio RC sembra certamente interessante. Non mi è venuto in mente che il test dell'unità sarebbe stato fatto nel browser stesso. La mia percezione originale era che il test dell'unità sarebbe eseguito in nUnit sull'output HTTP. – BobTheBuilder
Desiderate una separazione netta delle preoccupazioni anche nel test dell'unità. Generalmente non permetto ai test dell'unità (Nunit, MsTest, ecc.) Di toccare il database o qualcosa di diverso dall'attuale oggetto sottoposto a test. Fit, FitNesse, Slim e StoryTeller sono ottimi per i test di integrazione, ma non devono essere utilizzati per il test dell'unità. Testare l'interfaccia utente dovrebbe essere molto superficiale e dovrebbe solo verificare che l'interfaccia utente esegua ciò che dovrebbe. Non dovrebbe in nessun caso controllare cose sotto il cofano (cioè database, controller, ecc ...) – Josh