We recommend using Visual Studio 2017

Test di siti Web e di servizi Web in Team System

Quando si testa un sito Web per la prima volta, in genere il test viene eseguito sul computer dell'utente. Può essere tuttavia utile condividere i test con i colleghi del team oppure, in un ambiente più formale, è possibile lavorare a un progetto in cui vengono verificati il codice di produzione e i test nel controllo del codice sorgente dopodiché, in un ambiente di lavoro per la generazione, gli stessi test vengono utilizzati per testare il codice verificato. In ognuno di questi scenari, è necessario che gli unit test identifichino il sito Web che viene testato, se tale sito è sul computer locale. Per consentire al motore di test di identificare il sito Web, utilizzare la variabile %PathToWebRoot%, come descritto nelle sezioni seguenti di questo argomento.

Scelta del server

Se si sviluppa un sito Web o un servizio Web, è possibile eseguirlo utilizzando il server di sviluppo ASP.NET o un server Web quale IIS. La scelta determina inoltre la modalità del test di un sito o servizio Web, come descritto nelle sezioni seguenti:

Test correlati: ulteriori informazioni

È possibile utilizzare gli unit test per testare i metodi Web di un servizio Web, come descritto in Test di servizi Web, e la regola business di un sito Web, come descritto in Cenni preliminari sugli unit test ASP.NET. È inoltre possibile utilizzare i test Web per testare le pagine Web, come descritto in Utilizzo di test Web.

Test di servizi Web con un server di sviluppo ASP.NET

Per testare i servizi Web mediante il server di sviluppo ASP.NET nel file system locale, contrassegnare il metodo dello unit test con l'attributo AspNetDevelopmentServer. Per identificare il percorso del sito Web, si specifica il percorso alla directory principale in un parametro dell'attributo AspNetDevelopmentServer. A questo scopo, utilizzare la variabile %PathToWebRoot%, come illustrato in Impostazione di pathToWebRoot. Per ulteriori informazioni, vedere Test di servizi Web.

Per ulteriori informazioni sull'utilizzo e la sintassi dell'attributo AspNetDevelopmentServer, vedere AspNetDevelopmentServerAttribute e Test di servizi Web.

Test di siti Web con un server di sviluppo ASP.NET

Quando si genera uno unit test ASP.NET per testare un sito Web sul file system del computer, il test viene contrassegnato con l'attributo AspNetDevelopmentServerHost. Questo attributo richiede il parametro pathToWebApp. Per impostazione predefinita, uno unit test ASP.NET generato include la variabile %PathToWebRoot% nel parametro pathToWebApp. Il valore di questa variabile viene impostato come descritto in Impostazione di pathToWebRoot. Per ulteriori informazioni sul test di siti Web con un server di sviluppo ASP.NET, vedere Cenni preliminari sugli unit test ASP.NET.

Per ulteriori informazioni sull'utilizzo e la sintassi dell'attributo AspNetDevelopmentServerHost, vedere AspNetDevelopmentServerHostAttribute e Cenni preliminari sugli unit test ASP.NET.

Impostazione di pathToWebRoot

In ogni unit test che verrà utilizzato per testare un sito o un servizio Web in esecuzione sul server di sviluppo ASP.NET, è necessario specificare la stringa %pathtowebroot%\\<NomeSitoWeb> nel parametro pathToWebApp dell'attributo AspNetDevelopmentServer o AspNetDevelopmentServerHost. Specificare il parametro come segue:

  • Utilizzare la stringa %PathToWebRoot% alla lettera. Utilizzare questa stringa anche se i test sono attualmente in esecuzione solo sul computer in uso. In questo modo viene conferita ai test la flessibilità necessaria per essere condivisi con altri utenti ed eseguiti in Team Foundation Build.

    NoteNota

    Quando si testano più siti Web sul computer e tali siti Web non condividono una directory principale comune, è possibile codificare il percorso al sito Web in ogni test anziché utilizzare la variabile %PathToWebRoot%. Importante: impostare questo percorso come hardcoded solo quando si eseguono test localmente, poiché questa operazione impedisce di condividere i test per il sito Web in modo esteso. Modificare il percorso della variabile %PathToWebRoot% prima che il test del sito Web venga eseguito da altri utenti del team o in Team Foundation Build.

  • <NomeSitoWeb> è il nome del sito Web da testare. Digitare questa stringa esattamente come il nome del sito Web viene visualizzato in Esplora soluzioni.

Per un esempio di utilizzo del parametro pathToWebApp, vedere Esempio di metodo di test.

Impostazione del valore di %PathToWebRoot%

Il valore della variabile %PathToWebRoot% viene acquisito in modo diversi a seconda dell'ambiente. Di seguito sono riportati i due casi possibili:

Impostazione di % PathToWebRoot% in Team Foundation Build

Quando si utilizza la variabile %PathToWebRoot% in Team Foundation Build, il valore deriva dalle informazioni nel tipo di generazione e viene impostato automaticamente da Team Foundation Build.

Quando ad esempio si eseguono test della versione 'Release' di 'SitoWeb1' generato per il sistema operativo x86, il valore di PathToWeb viene impostato su:

<build directory>/binaries/x86/Release/_precompiled/WebSite1

Impostazione di %PathToWebRoot% in altri ambienti condivisi

In tutti gli altri casi, tranne quando la variabile viene utilizzata in Team Foundation Build, il valore di %PathToWebRoot% viene impostato nel modo seguente. All'esecuzione del test, il sistema cercherà il valore della variabile %PathToWebRoot% in uno o più dei percorsi seguenti:

  • Posizione predefinita per i nuovi progetti di sito Web. Per impostazione predefinita, il sistema utilizza il percorso in cui Visual Studio crea i nuovi progetti di sito Web. Il valore predefinito di questo percorso è <drive>:\Documents and Settings\<user name>\My Documents\Visual Studio 2005\WebSites\.

  • Variabile di ambiente PathToWebRoot. Se questa variabile di ambiente è stata definita sul computer in cui vengono eseguiti i test, il valore viene utilizzato per eseguire l'override dei valori della posizione predefinita per i nuovi progetti di sito Web.

  • Valore della directory principale dell'applicazione Web. Per impostare questo valore, fare clic su Strumenti, quindi su Opzioni, espandere Strumenti di test, quindi fare clic su Esecuzione dei test. Se questo valore è stato impostato, esegue l'override dei valori della variabile di ambiente PathToWebRoot e della posizione predefinita per i nuovi progetti di sito Web.

Esempio di metodo di test

Il metodo di test seguente, mediante cui viene testato un servizio Web, è contrassegnato con l'attributo AspNetDevelopmentServer. Tale attributo richiede il parametro pathToWebApp. L'utilizzo della variabile %PathToWebRoot% nel parametro pathToWebApp è indicato in grassetto nell'esempio seguente.

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UnitTesting.Web;
using TestProject1.localhost;

[TestMethod]
[AspNetDevelopmentServer("HelloWorldServer", "%PathToWebRoot%\\WebSite1")]

public void HelloWorldTest()
{
    HelloWorldService target = new HelloWorldService();

    WebServiceHelper.TryUrlRedirection(
                                       target, 
                                       TestContext,
                                       "HelloWorldServer"
                                       );

    string expected = "Hello World";
    string actual;

    actual = target.HelloWorld();

    Assert.AreEqual(
                    expected, 
                    actual,

"TestProject1.localhost.HelloWorldService.HelloWorld did not return the expected value."
                    );
}

Vedere anche

Mostra: