Test del codice ASP.NET .aspx e .ascx dietro i file

1

Mi chiedo come testare il codice .aspx.cs e .ascx.cs. Posso usare il test unitario e se sì, come? Esistono alternative che aiuteranno a testare le funzioni nel codice dietro i file? Non so come deridere la pagina o il controllo.

Vorrei provare ad applicare la metodologia tdd, ma non so come testare il codice. Configurate i test per il codice dietro o spostate il codice in file alternativi che sono più facili da testare.

Sta spostando il codice dal codice dietro una pratica migliore?

Inoltre, come andresti sull'unità testando il codice dietro i file?

    
posta DFord 05.04.2014 - 16:26
fonte

2 risposte

3
I file

.aspx, rispetto ai corrispondenti file code-behind .aspx.cs) dovrebbero contenere un codice di programmazione minimo, cioè grandi blocchi di HTML con qua e là le chiamate alle variabili, eventualmente con loop e condizioni semplici.

Questo significa che raramente troverai i test unitari per i file .aspx, dato che non ci sono algoritmi complicati o regole aziendali.

Poiché i file .aspx possono ancora introdurre errori, i test di sistema sembrano una buona scelta. Il modo sarebbe lo stesso di quello che usi per verificare se il tuo codice HTML corrisponde ai requisiti.

Nota: ASP.NET incoraggia a inserire troppo codice di programmazione direttamente nei file .aspx. Nelle demo di Microsoft, puoi persino trovare query SQL lì. Questo è un modo terribile per sviluppare siti Web ed è fuorviante su quali sono i modelli.

Ad esempio, nei modelli Django in Python, le cose sono molto più chiare e non si inserisce la logica del database nei modelli HTML. ASP.NET rende la separazione delle preoccupazioni non ovvia.

Se ti ritrovi a inserire logica aziendale o logica di database nei tuoi modelli HTML, o se noti molti bug nei tuoi modelli, prendi in considerazione l'introduzione di livelli nell'applicazione e mantieni solo il codice minimo nei modelli.

    
risposta data 05.04.2014 - 16:37
fonte
0

In realtà è piuttosto semplice. Tutto quello che devi fare è Estrarre la logica da Codice dietro / accanto nella classe Presenter. Tutto il codice specifico di ASP.NET dovrebbe rimanere nel codice dietro l'astrazione dell'interfaccia View, che verrà manipolata da Presenter. Vi sono molti esempi sul modello Model-View-Presenter. Per esempio. link

    
risposta data 09.04.2014 - 15:18
fonte

Leggi altre domande sui tag