Infrastructure de test unitaire

Mise à jour : novembre 2007

L'Infrastructure de test unitaire prend en charge le test unitaire dans Visual Studio. Utilisez les classes et les membres de l'espace de noms Microsoft.VisualStudio.TestTools.UnitTesting lorsque vous codez des tests unitaires. Vous pouvez les utiliser lorsque vous avez écrit le test unitaire à partir de zéro ou lorsque vous affinez un test unitaire généré à partir de code que vous testez.

Groupes d'éléments

Afin de fournir une vue d'ensemble plus claire de l'Infrastructure de test unitaire, cette section organise les éléments de l'espace de noms UnitTesting en groupes de fonctionnalités connexes.

Remarque :

Les éléments d'attributs, dont les noms se terminent par la chaîne Attribute, peuvent être utilisés avec ou sans la chaîne Attribute. Par exemple, les deux exemples de code suivants fonctionnent de manière identique :

[TestClass()]

[TestClassAttribute()]

Éléments utilisés pour les tests pilotés par les données

Utilisez les éléments suivants pour configurer des tests unitaires pilotés par les données. Pour plus d'informations, consultez Codage d'un test unitaire piloté par des données et Comment : configurer un test unitaire piloté par des données.

Attributs utilisés pour établir un ordre d'appel

Un élément de code décoré avec l'un des attributs suivants est appelé au moment que vous spécifiez. Pour plus d'informations, consultez Structure de tests unitaires.

Pour les assemblys

AssemblyInitialize et AssemblyCleanup sont appelés juste après le chargement de votre assembly et juste avant son déchargement.

Pour les classes

ClassInitialize et ClassCleanup sont appelés juste après le chargement de votre classe et juste avant son déchargement.

Pour les méthodes de test

Attributs utilisés pour identifier des classes et des méthodes de test

Chaque classe de test doit avoir l'attribut TestClass et chaque méthode de test doit avoir l'attribut TestMethod. Pour plus d'informations, consultez Structure de tests unitaires.

Classes Assert et exceptions connexes

Les tests unitaires peuvent vérifier un comportement d'application spécifique par leur utilisation de différents types d'instructions, d'exceptions et d'attributs Assert. Pour plus d'informations, consultez Utilisation des classes Assert.

La classe TestContext

Les propriétés de la classe de contexte du test stockent des informations à propos de la série de tests actuelle. Par exemple, les propriétés TestContext.DataRow et TestContext.DataConnection contiennent des informations utilisées par le test pour les tests unitaires pilotés par les données.

Attributs d'identification et de tri des tests

Les attributs suivants et les valeurs qui leur sont assignées apparaissent dans la fenêtre de propriétés de Visual Studio pour une méthode de test particulière.

Ces attributs ne sont pas censés être accessibles par le biais du code du test unitaire. Au lieu de cela, ils affectent la manière dont le test unitaire est utilisé ou exécuté, soit par vous par le biais de l'IDE de Visual Studio, soit par le moteur de test de Team System.

Par exemple, certains de ces attributs apparaissent comme des colonnes dans les fenêtres Explorateur de tests et Résultats des tests, ce qui signifie que vous pouvez les utiliser pour grouper et trier des tests et des résultats de tests.

TestPropertyAttribute est l'un de ces attributs ; il sert à ajouter des métadonnées arbitraires à des tests unitaires. Vous pouvez par exemple l'utiliser pour stocker le nom d'une étape de test couverte par ce test, en marquant le test unitaire avec [TestProperty("TestPass", "Accessibility")]. Ou pour stocker un indicateur du type de test dont il s'agit : [TestProperty("TestKind", "Localization")]. La propriété que vous créez à l'aide de cet attribut et la valeur de propriété que vous assignez sont toutes deux affichées dans la fenêtre de propriétés de Visual Studio sous le titre Spécifique au test.

Classes de configuration de test

Attributs utilisés pour générer des rapports

Les attributs de cette section établissent un rapport entre la méthode de test qu'ils décorent et des entités dans la hiérarchie de projet d'un projet d'équipe Team Foundation Server. Pour plus d'informations, consultez Comment : activer la création de rapport de résultats de tests.

Classes utilisées avec des accesseurs private

Comme indiqué dans Comment : tester une méthode privée, vous pouvez générer un test unitaire pour une méthode privée. Cette génération crée une classe d'accesseur private qui instancie un objet de la classe PrivateObject. La classe PrivateObject est une classe wrapper qui utilise la réflexion dans le cadre du processus d'accesseur private. La classe PrivateType est semblable, mais elle est utilisée pour appeler des méthodes statiques privées au lieu de méthodes d'instance privées.

Voir aussi

Concepts

Utilisation des classes Assert

Utilisation de la classe TestContext

Référence

Microsoft.VisualStudio.TestTools.UnitTesting