Procedura: creare unit test ASP.NET
Aggiornamento: novembre 2007
Gli unit test ASP.NET consentono di eseguire il test di metodi che fanno parte dei progetti ASP.NET. È possibile creare unit test ASP.NET in uno dei seguenti modi:
Generando unit test ASP.NET da un progetto ASP.NET. È lo scenario più comune.
Configurando uno unit test esistente come unit test ASP.NET.
È inoltre possibile specificare le impostazioni in una configurazione di esecuzione che corrispondano agli attributi utilizzati dagli unit test ASP.NET. Tali procedure vengono descritte nelle sezioni seguenti.
Nota: |
---|
Quando si eseguono unit test ASP.NET, gli attributi ClassCleanupAttribute o ClassInitializeAttribute non devono essere utilizzati in nessun metodo in una classe contenente uno unit test ASP.NET. Allo stesso modo, gli attributi AssemblyCleanupAttribute o AssemblyInitializeAttribute non devono essere utilizzati nello stesso assembly di uno unit test ASP.NET. Il risultato dell'utilizzo di tali attributi in queste situazioni non è noto. Tuttavia, è possibile utilizzare gli attributi TestInitializeAttribute e TestCleanupAttribute per qualsiasi unit test. |
Gli script di installazione e di pulitura vengono eseguiti prima e dopo le esecuzioni dei test, indipendentemente dai tipi di test contenuti nelle esecuzioni dei test. Per ulteriori informazioni sugli script eseguiti insieme alle esecuzioni dei test, vedere Cenni preliminari sulla distribuzione dei test e Procedura: specificare la configurazione di esecuzione di un test.
Generazione di unit test ASP.NET
Per generare unit test ASP.NET, è necessario creare prima un sito Web ASP.NET nella soluzione Visual Studio. Quindi, aggiungere una classe al progetto del sito Web e infine generare uno unit test da quella classe.
Per generare unit test ASP.NET
Per generare uno unit test ASP.NET, creare innanzitutto un sito Web ASP.NET. A tale scopo, fare clic con il pulsante destro del mouse sulla soluzione, scegliere Aggiungi, quindi Nuovo sito Web.
Nella finestra di dialogo Aggiungi nuovo sito Web, fare clic su Sito Web ASP.NET.
In Percorso, fare clic su File System per indicare il Server di sviluppo ASP.NET.
Fare clic su OK.
È stato creato un nuovo sito Web.
Aggiungere una classe a questo progetto. A tale scopo, in Esplora soluzioni, fare clic con il pulsante destro del mouse sul sito Web e scegliere Aggiungi nuovo elemento.
Nella finestra di dialogo Aggiungi nuovo elemento, fare clic su Classe, quindi su Aggiungi.
Verrà visualizzata una finestra di dialogo di Microsoft Visual Studio in cui viene chiesto di inserire la nuova classe nella cartella App_Code. Fare clic su Sì.
Nota: Non è possibile generare test dal codice in un file .aspx oppure in una cartella diversa dalla cartella App_Code.
Generare uno unit test ASP.NET. Se il file della nuova classe non è già aperto, fare doppio clic su tale file in Esplora soluzioni per aprirlo.
Fare clic con il pulsante destro del mouse sulla classe nel file della classe, quindi selezionare Crea unit test.
Verrà visualizzata la finestra di dialogo Crea unit test. Per informazioni sulle modalità di utilizzo di questa finestra di dialogo per generare unit test, vedere Procedura: generare unit test.
Verificare che le classi, i metodi o gli spazi dei nomi per cui si desidera generare i test siano selezionati.
(Facoltativo) Accettare il progetto di output predefinito oppure selezionare un nuovo progetto.
Al termine, fare clic su OK.
Il nuovo unit test ASP.NET viene aggiunto a un file nel progetto del test.
Per visualizzare lo unit test, aprire il file di test e scorrere fino alla fine. Gli attributi necessari per eseguire uno unit test come uno unit test ASP.NET sono stati specificati automaticamente. Per ulteriori informazioni su tali attributi, vedere la procedura seguente, Configurazione di unit test ASP.NET.
Configurazione di unit test ASP.NET
È possibile convertire uno unit test esistente in uno unit test ASP.NET configurandolo, vale a dire assegnando dei valori a determinati attributi personalizzati del test. Tali valori vengono impostati nel file del codice contenente lo unit test.
Prima di impostare gli attributi personalizzati, è necessario aggiungere un riferimento allo spazio dei nomi che supporta gli attributi personalizzati; si tratta dello spazio dei nomi Microsoft.VisualStudio.TestTools.UnitTesting.Web. Una volta stabilito questo riferimento, IntelliSense consente di impostare i valori dell'attributo.
Nota Quando si genera uno unit test ASP.NET, questi attributi vengono impostati automaticamente.
Per configurare uno unit test ASP.NET
Aprire il file del codice contenente lo unit test.
Impostare i seguenti attributi per lo unit test:
[TestMethod]
Poiché tutti gli unit test richiedono l'attributo [TestMethod], questo attributo sarà già impostato.
[UrlToTest()]
Si tratta dell'URL testato durante l'esecuzione dello unit test; ad esempio, [UrlToTest("https://localhost/WebSites/Default.aspx")]
[HostType()]
Utilizzare [HostType(“ASP.NET”)]. I test vengono di solito eseguiti nel processo host VSTest ma gli unit test ASP.NET devono essere eseguiti nel processo host ASP.NET.
Esempi
Esempio 1. Se si esegue il sito Web con il Server di sviluppo ASP.NET, gli attributi e i valori impostati per uno unit test ASP.NET sono simili ai seguenti:
[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("https://localhost:25153/WebSite1")]
[AspNetDevelopmentServerHost("D:\\Documents and Settings\\user name\\My Documents\\Visual Studio 2005\\WebSites\\WebSite1", "/WebSite1")]
Esempio 2. Per testare un sito Web in esecuzione in IIS, utilizzare solo gli attributi TestMethod, HostType e UrlToTest:
[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("https://localhost:25153/WebSite1")]
Configurazione di unit test ASP.NET con la configurazione di esecuzione
È possibile specificare le impostazioni in una configurazione di esecuzione che corrispondano agli attributi utilizzati dagli unit test ASP.NET. Una volta specificati questi attributi in una configurazione di esecuzione, le impostazioni saranno applicate durante l'esecuzione di qualsiasi unit test ASP.NET, ogni volta che la configurazione di esecuzione è attiva.
Nota: |
---|
Può essere attiva una sola serie di impostazioni per unit test ASP.NET: è possibile eseguire impostazioni della configurazione o impostazioni dell'attributo ma non una combinazione di entrambi. Le impostazioni della configurazione di esecuzione hanno la precedenza sugli attributi, se presenti. Ciò vuol dire che anche se si specifica una sola impostazione ASP.NET nella configurazione di esecuzione, qualsiasi impostazione ASP.NET specificata come attributo viene ignorata. |
Per configurare unit test ASP.NET utilizzando la configurazione di esecuzione
Aprire un file della configurazione di esecuzione. Per ulteriori informazioni, vedere Procedura: specificare la configurazione di esecuzione di un test.
Nella pagina Host, impostare Tipo host su ASP.NET.
Verranno visualizzate opzioni aggiuntive, alcune delle quali corrispondono agli attributi che è possibile specificare nel codice, come URL da testare. Questi attributi sono descritti nella procedura precedente, "Configurazione di unit test ASP.NET".
Una volta completata l'impostazione dei valori nella pagina Host, fare clic su Salva, quindi su OK.
Vedere anche
Attività
Procedura: specificare la configurazione di esecuzione di un test
Procedura: applicare la configurazione di esecuzione di un test
Concetti
Cenni preliminari sugli unit test ASP.NET