Utilisation de la classe TestContext
Mise à jour : novembre 2007
Vous pouvez utiliser la classe TestContext dans des tests unitaires pour différentes raisons. Voici ses usages les plus fréquents :
Dans n'importe quel test unitaire, parce que la classe TestContext stocke des informations qui sont fournies aux tests unitaires, par exemple le chemin d'accès au répertoire de déploiement. Pour plus d'informations, consultez Structure de tests unitaires.
Dans les tests unitaires destinés à vérifier des services Web qui s'exécutent sur le serveur de développement ASP.NET. Dans ce cas, TestContext stocke l'URL du service Web. Pour plus d'informations, consultez Test des services Web.
Dans les tests unitaires ASP.NET, pour obtenir l'accès à l'objet Page. Pour plus d'informations, consultez Utilisation des tests unitaires ASP.NET.
Dans les tests unitaires pilotés par les données, la classe TestContext est requise parce qu'elle assure l'accès à la ligne de données. Pour plus d'informations, consultez Utilisation de tests unitaires pilotés par des données, Codage d'un test unitaire piloté par des données et Procédure pas à pas : utilisation d'un fichier de configuration pour définir une source de données.
Obtention de TestContext
Lorsque vous exécutez un test unitaire, vous obtenez automatiquement une instance concrète du type TestContext si la classe de test qui contient votre méthode de test unitaire dispose d'une propriété TestContext définie. L'infrastructure de test unitaire remplit automatiquement les membres de TestContext pour que vous puissiez l'utiliser pendant toute la durée de vos tests. (Pour plus d'informations sur les membres de TestContext, consultez TestContext.) Cela signifie que vous ne devez pas instancier ou dériver le type TestContext dans votre code. Il vous suffit de commencer à l'utiliser car il offre la prise en charge IntelliSense.
Certaines classes de test ne disposent pas automatiquement d'une propriété TestContext définie. Cela dépend de la manière dont vous avez créé le test.
Lorsque la propriété TestContext est automatiquement définie
La génération d'un test unitaire à partir de code définit automatiquement la propriété TestContext. Pour plus d'informations sur les modes d'exécution des tests de charge, consultez Comment : générer un test unitaire.
Lorsque la propriété TestContext n'est pas automatiquement définie
Outre la génération automatique, il existe d'autres méthodes pour créer des tests unitaires. Votre classe de test ne présente pas automatiquement une propriété TestContext définie si vous créez votre test de l'une des manières suivantes :
Ajout manuel du code pour une nouvelle classe de test.
Ajout d'un fichier de test unitaire au projet. Pour ce faire, vous pouvez par exemple choisir l'option Nouveau test dans le menu Test, puis Test unitaire dans la boîte de dialogue Ajouter un nouveau test.
Dans ces cas, vous devez ajouter manuellement la propriété TestContext. Pour plus d'informations sur le codage de tests unitaires, consultez Comment : créer un test unitaire.
Exemple TestContext
Pour utiliser TestContext, créez un membre et une propriété dans votre classe de test, comme dans l'exemple suivant en C#.
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
L'infrastructure de test définit automatiquement la propriété que vous pouvez ensuite utiliser dans les tests unitaires.
Voir aussi
Tâches
Comment : créer un test unitaire
Concepts
Codage d'un test unitaire piloté par des données
Test des sites et des services Web dans un environnement de travail en équipe
Référence
TestContext
Autres ressources
Comment : générer un test unitaire