Utiliser le framework MSTest dans les tests unitairesUse the MSTest framework in unit tests

Le framework MSTest prend en charge les tests unitaires dans Visual Studio.The MSTest framework supports unit testing in Visual Studio. Utilisez les classes et les membres dans l’espace de noms Microsoft.VisualStudio.TestTools.UnitTesting lorsque vous codez des tests unitaires.Use the classes and members in the Microsoft.VisualStudio.TestTools.UnitTesting namespace when you are coding unit tests. Vous pouvez également les utiliser lorsque vous affinez un test unitaire qui a été généré à partir du code.You can also use them when you are refining a unit test that was generated from code.

Membres du frameworkFramework members

Pour fournir une vue d’ensemble plus claire du framework de test unitaire, cette section présente les membres de l’espace de noms Microsoft.VisualStudio.TestTools.UnitTesting sous forme de groupes de fonctionnalités connexes.To help provide a clearer overview of the unit testing framework, this section organizes the members of the Microsoft.VisualStudio.TestTools.UnitTesting namespace into groups of related functionality.

Note

Les éléments d’attribut, dont les noms finissent par « Attribute », peuvent être utilisés avec ou sans la mention « Attribute » à la fin.Attribute elements, whose names end with "Attribute", can be used either with or without "Attribute" on the end. Par exemple, les deux exemples de code suivants fonctionnent de manière identique :For example, the following two code examples function identically:

[TestClass()]

[TestClassAttribute()]

Membres utilisés pour les tests pilotés par les donnéesMembers used for data-driven testing

Utilisez les éléments suivants pour configurer des tests unitaires pilotés par les données.Use the following elements to set up data-driven unit tests. Pour plus d’informations, consultez Créer un test unitaire piloté par les données et Utiliser un fichier de configuration pour définir une source de données.For more information, see Create a data-driven unit test and Use a configuration file to define a data source.

Attributs utilisés pour établir un ordre d’appelAttributes used to establish a calling order

Un élément de code décoré avec l’un des attributs suivants est appelé au moment spécifié.A code element decorated with one of the following attributes is called at the moment you specify. Pour plus d’informations, consultez Anatomie d’un test unitaire.For more information, see Anatomy of a unit test.

Attributs pour les assemblysAttributes for assemblies

AssemblyInitialize et AssemblyCleanup sont appelés juste après le chargement de votre assembly et juste avant son déchargement.AssemblyInitialize and AssemblyCleanup are called right after your assembly is loaded and right before your assembly is unloaded.

Attributs pour les classesAttributes for classes

ClassInitialize et ClassCleanup sont appelés juste après le chargement de votre classe et juste avant son déchargement.ClassInitialize and ClassCleanup are called right after your class is loaded and right before your class is unloaded.

Attributs pour les méthodes de testAttributes for test methods

Attributs utilisés pour identifier les classes et méthodes de testAttributes used to identify test classes and methods

Chaque classe de test doit avoir l’attribut TestClass, et chaque méthode de test doit avoir l’attribut TestMethod.Every test class must have the TestClass attribute, and every test method must have the TestMethod attribute. Pour plus d’informations, consultez Anatomie d’un test unitaire.For more information, see Anatomy of a unit test.

Les tests unitaires permettent de vérifier le comportement d’une application spécifique à l’aide de différents genres d’assertions, d’exceptions et d’attributs.Unit tests can verify specific application behavior by their use of various kinds of assertions, exceptions, and attributes. Pour plus d’informations, consultez Utilisation des classes Assert.For more information, see Using the assert classes.

Classe TestContextThe TestContext class

Les attributs suivants et les valeurs qui leur sont assignées apparaissent dans la fenêtre Propriétés de Visual Studio pour une méthode de test particulière.The following attributes and the values assigned to them appear in the Visual Studio Properties window for a particular test method. Ces attributs ne sont pas censés être accessibles via le code du test unitaire.These attributes are not meant to be accessed through the code of the unit test. Au lieu de cela, ils affectent les façons dont le test unitaire est utilisé ou exécuté, par vous via l’IDE de Visual Studio ou par le moteur de test de Visual Studio.Instead, they affect the ways the unit test is used or run, either by you through the IDE of Visual Studio, or by the Visual Studio test engine. Par exemple, certains de ces attributs apparaissent sous forme de colonnes dans la fenêtre Test Manager et la fenêtre Résultats des tests, ce qui signifie que vous pouvez les utiliser pour regrouper et trier les tests et les résultats des tests.For example, some of these attributes appear as columns in the Test Manager window and Test Results window, which means that you can use them to group and sort tests and test results. C’est le cas de TestPropertyAttribute, le genre d’attribut qui vous permet d’ajouter des métadonnées arbitraires aux tests unitaires.One such attribute is TestPropertyAttribute, which you use to add arbitrary metadata to unit tests. Par exemple, vous pouvez l’utiliser pour stocker le nom d’une étape de test couverte par ce test, en marquant le test unitaire avec [TestProperty("TestPass", "Accessibility")].For example, you could use it to store the name of a test pass that this test covers, by marking the unit test with [TestProperty("TestPass", "Accessibility")]. Vous pouvez également l’utiliser pour stocker un indicateur du genre de test avec [TestProperty("TestKind", "Localization")].Or, you could use it to store an indicator of the kind of test it is with [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 affichées dans la fenêtre Propriétés de Visual Studio sous le titre Spécifique au test.The property you create by using this attribute, and the property value you assign, are both displayed in the Visual Studio Properties window under the heading Test specific.

Classes de configuration de testTest configuration classes

Attributs utilisés pour générer des rapportsAttributes used to generate reports

Les attributs de cette section lient la méthode de test qu’ils décorent aux entités de la hiérarchie de projet d’un projet d’équipe Team Foundation Server.The attributes in this section relate the test method that they decorate to entities in the project hierarchy of a Team Foundation Server team project.

Classes utilisées avec des accesseurs privateClasses used with private accessors

Vous pouvez générer un test unitaire pour une méthode privée.You can generate a unit test for a private method. Cette génération crée une classe d’accesseur private, qui instancie un objet de la classe PrivateObject.This generation creates a private accessor class, which instantiates an object of the PrivateObject class. La classe PrivateObject est une classe wrapper qui utilise la réflexion dans le cadre du processus d’accesseur private.The PrivateObject class is a wrapper class that uses reflection as part of the private accessor process. La classe PrivateType est similaire, mais elle est utilisée pour appeler des méthodes statiques privées au lieu d’appeler des méthodes d’instance privées.The PrivateType class is similar, but is used for calling private static methods instead of calling private instance methods.

Voir aussiSee also