Partager via


Test des sites et des services Web dans un environnement de travail en équipe

Mise à jour : novembre 2007

Lorsque vous testez un site Web pour la première fois, vous procédez généralement sur votre propre ordinateur. Mais vous pouvez également partager vos tests avec des coéquipiers. Sinon, dans un environnement plus formel, vous pouvez travailler sur un projet dans lequel vous vérifiez votre code de production et vos tests dans le contrôle de code source, après quoi un atelier de génération utilise vos tests pour tester votre code. Dans chacun de ces scénarios, les tests unitaires doivent être en mesure d'identifier le site Web qu'ils testent, si ce site se trouve sur l'ordinateur local. Pour permettre au moteur de test d'identifier le site Web, utilisez la variable %PathToWebRoot%, comme décrit dans les sections suivantes de cette rubrique.

Choix de serveur

Si vous développez un site Web ou un service Web, vous pouvez l'exécuter en utilisant le serveur de développement ASP.NET ou un serveur Web tel qu'IIS. Ce choix détermine également la façon dont vous testez votre site Web ou service Web, comme décrit dans les sections suivantes :

  • Test des services Web avec le serveur de développement ASP.NET

  • Test des sites Web avec le serveur de développement ASP.NET

Tests associés : informations supplémentaires

Vous pouvez utiliser des tests unitaires pour tester les méthodes Web d'un service Web, comme décrit dans Test des services Web et pour tester la logique métier d'un site Web, comme décrit dans Vue d'ensemble des tests unitaires ASP.NET. En outre, vous pouvez utiliser des tests Web pour tester des pages Web, comme décrit dans Utilisation des tests Web.

Test des services Web avec le serveur de développement ASP.NET

Pour tester des services Web à l'aide du serveur de développement ASP.NET sur votre système de fichiers local, marquez la méthode de test unitaire avec l'attribut AspNetDevelopmentServer. Pour identifier l'emplacement du site Web, vous spécifiez le chemin d'accès menant à son répertoire racine dans un paramètre de l'attribut AspNetDevelopmentServer. Pour cela, utilisez la variable %PathToWebRoot%, comme expliqué dans Définition de pathToWebRoot. Pour plus d'informations, consultez Test des services Web.

Pour plus d'informations sur l'utilisation et la syntaxe de l'attribut AspNetDevelopmentServer, consultez AspNetDevelopmentServerAttribute et Test des services Web.

Test des sites Web avec le serveur de développement ASP.NET

Lorsque vous générez un test unitaire ASP.NET pour tester un site Web sur le système de fichiers de votre ordinateur, le test est marqué avec l'attribut AspNetDevelopmentServerHost. Cet attribut requiert le paramètre pathToWebApp. Par défaut, un test unitaire ASP.NET généré inclut la variable %PathToWebRoot% dans le paramètre pathToWebApp. La valeur de cette variable est définie comme décrit dans Définition de pathToWebRoot. Pour plus d'informations sur comment tester les sites Web avec le serveur de développement ASP.NET, consultez Vue d'ensemble des tests unitaires ASP.NET.

Pour plus d'informations sur l'utilisation et la syntaxe de l'attribut AspNetDevelopmentServerHost, consultez AspNetDevelopmentServerHostAttribute et Vue d'ensemble des tests unitaires ASP.NET.

Définition de pathToWebRoot

Dans chaque test unitaire utilisé pour tester un site Web ou un service Web qui s'exécute sur le serveur de développement ASP.NET, vous devez spécifier la chaîne %pathtowebroot%\\<NomSiteWeb> dans le paramètre pathToWebApp de l'attribut AspNetDevelopmentServer ou AspNetDevelopmentServerHost. Spécifiez le paramètre comme suit :

  • Utilisez la chaîne %PathToWebRoot% mot pour mot. Utilisez même cette chaîne si vos tests sont en cours d'exécution sur votre propre ordinateur. Cela procure à vos tests la flexibilité pour être partagés avec d'autres et s'exécuter dans Team Foundation Build.

    Remarque :

    Lorsque vous testez plusieurs sites Web sur votre propre ordinateur et que ces sites Web ne partagent pas de répertoire racine commun, vous pouvez souhaiter coder en dur le chemin d'accès au site Web dans chaque test au lieu d'utiliser la variable %PathToWebRoot%. Important : ne codez ce chemin d'accès en dur que lorsque vous exécutez des tests localement, car cela vous empêche de partager plus largement des tests pour ce site Web. N'oubliez pas de modifier le chemin d'accès pour inclure la variable %PathToWebRoot% avant que le site Web soit testé par les autres membres de votre équipe ou dans Team Foundation Build.

  • <NomSiteWeb> est le nom du site Web à tester. Tapez cette chaîne exactement comme le nom du site Web apparaît dans l'Explorateur de solutions.

Pour obtenir un exemple d'utilisation du paramètre pathToWebApp, consultez Exemple de méthode de test.

Définition de la valeur de %PathToWebRoot%

La variable %PathToWebRoot% acquiert sa valeur de différentes façons dans les différents environnements. Les deux cas sont les suivants :

  • Définition de % PathToWebRoot% dans Team Foundation Build

  • Définition de %PathToWebRoot% dans d'autres environnements partagés

Définition de %PathToWebRoot% dans Team Foundation Build

Lorsqu'elle est utilisée dans Team Foundation Build, la valeur de la variable %PathToWebRoot% est dérivée d'informations contenues dans le type de build et est automatiquement définie par Team Foundation Build.

Par exemple lorsque vous exécutez des tests sur la version 'Release' de 'WebSite1' créé pour la plateforme x86, la valeur affectée à PathToWeb est :

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

Définition de %PathToWebRoot% dans d'autres environnements partagés

Dans tous les cas où elle n'est pas utilisée dans Team Foundation Build, la valeur de la variable %PathToWebRoot% est définie comme suit. Une fois le test exécuté, le système recherche la valeur de la variable %PathToWebRoot% dans un ou plusieurs des emplacements suivants :

  • Emplacement par défaut des nouveaux projets de site Web. Par défaut, le système utilise le chemin d'accès désignant l'emplacement où Visual Studio crée des projets de site Web. Pour ce faire, la valeur par défaut est <drive>:\Documents and Settings\<user name>\My Documents\Visual Studio 2005\WebSites\.

  • Variable d'environnement PathToWebRoot. Si vous avez défini cette variable d'environnement sur l'ordinateur où les tests s'exécutent, sa valeur est utilisée et substitue toute valeur à partir de l'emplacement par défaut des nouveaux projets de site Web.

  • Valeur du répertoire racine de l'application Web. Pour définir cette valeur, cliquez sur Outils, puis sur Options, développez Outils de test, puis cliquez sur Exécution de tests. Si vous avez défini cette valeur, elle substitue toutes les valeurs de la variable d'environnement PathToWebRoot et l'emplacement par défaut des nouveaux projets de site Web.

Exemple de méthode de test

La méthode de test suivante qui teste un service Web est marquée avec l'attribut AspNetDevelopmentServer. L'attribut AspNetDevelopmentServer nécessite le paramètre pathToWebApp. L'utilisation de la variable %PathToWebRoot% dans le paramètre pathToWebApp est indiquée en gras dans l'exemple suivant.

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."
                    );
}

Voir aussi

Tâches

Comment : créer un test unitaire

Comment : paramétrer un serveur Web

Concepts

Serveurs Web dans Visual Web Developer

Vue d'ensemble des tests unitaires ASP.NET

Référence

Microsoft.VisualStudio.TestTools.UnitTesting.Web

AspNetDevelopmentServerAttribute

AspNetDevelopmentServerHostAttribute

Autres ressources

Test des services Web

Comment : générer un test unitaire