Partager via


Vue d'ensemble des tests unitaires ASP.NET

Mise à jour : novembre 2007

Les tests unitaires ASP.NET vous permettent de tester des méthodes qui font partie de sites ou de projets ASP.NET. Par exemple, vous pouvez tester les méthodes qui composent la logique métier d'un projet ASP.NET.

Remarque :

Si vous exécutez Windows Vista, vous devez exécuter Visual Studio en tant qu'administrateur pour exécuter des tests unitaires ASP.NET. Si vous exécutez Visual Studio en tant qu'utilisateur normal, vous pouvez créer un site Web et créer et exécuter des tests ASP.NET mais ceux-ci échoueront. Pour exécuter Visual Studio en tant qu'administrateur, cliquez avec le bouton droit sur Microsoft Visual Studio 2005, puis cliquez sur Exécuter en tant qu'administrateur. Si vous êtes invité à continuer ou à autoriser le processus à s'exécuter, cliquez sur Continuer ou sur Autoriser. Si vous êtes invité à fournir des références d'ouverture de session pour un utilisateur avec des autorisations d'administrateur, vous devez fournir ces références pour exécuter avec succès des tests unitaires ASP.NET. Pour plus d'informations sur la sécurité dans Windows Vista, consultez Vue d'ensemble du contrôle de compte d'utilisateur

La différence entre un test unitaire ASP.NET et d'autres tests unitaires réside dans le processus d'exécution des tests. Les tests ASP.NET s'exécutent dans le même environnement que le code de production. Pour cela, vous pouvez choisir IIS ou le serveur de développement ASP.NET. Lorsque vos tests s'exécutent dans le processus du serveur Web, vous pouvez accéder à tout l'environnement associé à ce processus, tel que l'objet Page.

Vous pouvez créer un test unitaire ASP.NET de deux manières : soit en le générant, soit en configurant un test unitaire existant pour l'exécuter en tant que test unitaire ASP.NET. Ces deux méthodes sont décrites dans Comment : créer un test unitaire ASP.NET.

Vous pouvez également spécifier des paramètres dans une configuration d'exécution qui sera utilisée avec les tests unitaires que vous exécutez. Les paramètres sont uniquement utilisés lorsque cette configuration d'exécution est active. Pour plus d'informations, consultez Comment : créer un test unitaire ASP.NET.

Utilisation d'une identité du processus différente pendant l'exécution d'un test unitaire ASP.NET

Lorsque vous testez du code ASP.NET, le code de test s'exécute dans le processus IIS ou dans un processus de serveur de développement ASP.NET. Si votre test unitaire ASP.NET s'exécute dans le processus IIS, vous pouvez choisir d'exécuter le processus ASP.NET sous forme d'utilisateur non défini par défaut, avec une identité de processus différente, pour des raisons de sécurité.

Par exemple, si le site Web ASP.NET doit accéder aux ressources de l'ordinateur telles que les dossiers, les fichiers ou une base de données, vous pouvez choisir de l'exécuter afin que ses autorisations sur ces ressources soient exactement suffisantes, et pas plus.

Remarque :

L'identité par défaut dépend de la version d'IIS. Dans Windows Server 2003 par exemple, l'identité par défaut du processus ASP.NET, w3wp.exe, est "SERVICE RÉSEAU."

L'exécution d'un test unitaire peut échouer dans ce cas. Par exemple, le processus ASP.NET qui s'exécute comme un utilisateur non défini par défaut peut avoir des autorisations limitées, mais être encore capable de générer des fichiers temporaires dans le dossier de %WINDIR%\Temp. Cela échoue si les autorisations par défaut sur %WINDIR%\Temp n'offrent pas au processus un accès suffisant pour générer ces fichiers. Dans ce cas, pour que l'exécution du test unitaire réussisse, vous devez accorder des autorisations supérieures au processus sur le dossier de %WINDIR%\Temp.

L'exécution de test unitaire peut également échouer si le compte de service n'a pas accès au dossier racine du déploiement. Dans ce cas, Visual Studio affiche une boîte de dialogue qui explique l'erreur et vous permet de poursuivre en cliquant sur OK.

Voir aussi

Tâches

Comment : créer un test unitaire ASP.NET

Comment : spécifier la configuration d'une série de tests

Comment : effectuer un débogage lors de l'exécution d'un test dans une solution ASP.NET

Concepts

Vue d'ensemble du déploiement de test

Tests unitaires ASP.NET et accesseurs private

Autres ressources

Création de tests unitaires