Condividi tramite


Cenni preliminari sugli unit test ASP.NET

Aggiornamento: novembre 2007

Gli unit test di ASP.NET consentono di eseguire il test di metodi che fanno parte di siti e progetti ASP.NET. Ad esempio, è possibile testare metodi che costituiscono la logica di business di un progetto ASP.NET.

Nota:

Se si esegue Windows Vista, è necessario eseguire Visual Studio come amministratore per eseguire unit test ASP.NET. Se si esegue Visual Studio come utente normale, è possibile creare un sito Web e creare ed eseguire test ASP.NET, ma i test daranno esito negativo. Per eseguire Visual Studio come amministratore, fare clic con il pulsante destro del mouse su Microsoft Visual Studio 2005 e scegliere Esegui come amministratore. All'eventuale richiesta se continuare o se consentire l'esecuzione del processo, scegliere rispettivamente Continua o Consenti. Se viene richiesto di fornire le credenziali di accesso per un utente con autorizzazioni di amministratore, sarà necessario fornire tali credenziali per eseguire correttamente unit test ASP.NET. Per le ulteriori informazioni sulla sicurezza in Windows Vista, vedere User Account Control Overview (informazioni in lingua inglese). 

La differenza fra gli unit test di ASP.NET e gli altri unit test risiede nel processo in cui i test vengono eseguiti. I test di ASP.NET vengono eseguiti nello stesso ambiente in cui viene eseguito il codice di produzione. Pertanto, è possibile scegliere IIS o ASP.NET Development Server. Quando i test sono in esecuzione nel processo del server Web, si ha accesso all'intero ambiente associato a tale processo, ad esempio all'oggetto Page.

Gli unit test di ASP.NET possono essere creati in due modi: generandoli oppure condigurando uno unit test esistente in modo che possa eseguire uno unit test di ASP.NET. Entrambi i metodi sono descritti in Procedura: creare unit test ASP.NET.

È possibile inoltre specificare le impostazioni di una configurazione di esecuzione che verrà utilizzata con gli unit test. Le impostazioni vengono utilizzate solo quando la configurazione di esecuzione è attiva. Per ulteriori informazioni, vedere Procedura: creare unit test ASP.NET.

Utilizzo di un'identità di processo diversa durante l'esecuzione di uno unit test ASP.NET

Quando si esegue il test di codice ASP.NET, il codice del test viene eseguito nel processo IIS o in un processo del server di sviluppo ASP.NET. Se lo unit test ASP.NET è in esecuzione nel processo IIS, è possibile scegliere di eseguire il processo ASP.NET come utente non predefinito, ovvero con un'identità di processo diversa, per motivi di sicurezza.

Se ad esempio il sito Web ASP.NET deve accedere a risorse del computer, quali cartelle, file o un database, è possibile scegliere di eseguirlo in modo che le autorizzazioni su tali risorse siano esattamente quelle necessarie, non maggiori.

Nota:

L'identità predefinita dipende dalla versione di IIS. In Windows Server 2003, ad esempio, l'identità predefinita del processo ASP.NET, w3wp.exe, è "NETWORK SERVICE".

L'esecuzione dello unit test può non riuscire in questa situazione. Ad esempio, il processo ASP.NET in esecuzione come utente non predefinito potrebbe disporre di autorizzazioni limitate, ma comunque tentare di generare file temporanei nella cartella %WINDIR%\Temp. Se le autorizzazioni predefinite su %WINDIR%\Temp non consentono al processo un accesso sufficiente per generare tali file, si verifica un errore. In questo caso, affinché l'esecuzione dello unit test riesca, è necessario concedere al processo autorizzazioni maggiori sulla cartella %WINDIR%\Temp.

L'esecuzione dello unit test può non riuscire anche se l'account del servizio non ha accesso alla cartella principale di distribuzione. In questo caso, in Visual Studio viene visualizzata una finestra di dialogo con una descrizione dell'errore, che è possibile ignorare scegliendo OK.

Vedere anche

Attività

Procedura: creare unit test ASP.NET

Procedura: specificare la configurazione di esecuzione di un test

Procedura: eseguire il debug durante l'esecuzione di un test in una soluzione ASP.NET

Concetti

Cenni preliminari sulla distribuzione dei test

Unit test ASP.NET e funzioni di accesso private

Altre risorse

Creazione di unit test