Usar el marco de trabajo MSTest en pruebas unitariasUse the MSTest framework in unit tests

El marco de trabajo MSTest admite pruebas unitarias en Visual Studio.The MSTest framework supports unit testing in Visual Studio. Utilice las clases y los miembros en el espacio de nombres Microsoft.VisualStudio.TestTools.UnitTesting cuando se estén codificando pruebas unitarias.Use the classes and members in the Microsoft.VisualStudio.TestTools.UnitTesting namespace when you are coding unit tests. También puede utilizarlos si está perfeccionando una prueba unitaria que se generó a partir de código.You can also use them when you are refining a unit test that was generated from code.

Miembros del marco de trabajoFramework members

Con el fin de proporcionar una visión general más clara del marco de pruebas unitarias, esta sección organiza los miembros del espacio de nombres Microsoft.VisualStudio.TestTools.UnitTesting en grupos de funcionalidad relacionada.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.

Nota

Los elementos de atributo, cuyos nombres terminan con "Attribute", se pueden utilizar con o sin "Attribute" al final.Attribute elements, whose names end with "Attribute", can be used either with or without "Attribute" on the end. Por ejemplo, los dos siguientes ejemplos de código funcionan de forma idéntica:For example, the following two code examples function identically:

[TestClass()]

[TestClassAttribute()]

Miembros utilizados para pruebas controladas por datosMembers used for data-driven testing

Utilice los siguientes elementos para configurar pruebas unitarias controladas por datos.Use the following elements to set up data-driven unit tests. Para obtener más información, vea Cómo: Crear una prueba unitaria controlada por datos y Tutorial: Utilizar un archivo de configuración para definir un origen de datos.For more information, see Create a data-driven unit test and Use a configuration file to define a data source.

Atributos utilizados para establecer un orden de llamadaAttributes used to establish a calling order

Un elemento de código representativo con uno de los siguientes atributos se llama en el momento que especifique.A code element decorated with one of the following attributes is called at the moment you specify. Para obtener más información, vea Estructura de una prueba unitaria.For more information, see Anatomy of a unit test.

Atributos para ensambladosAttributes for assemblies

Se llama a AssemblyInitialize y AssemblyCleanup inmediatamente después de que se carga el ensamblado e inmediatamente antes de que se descargue.AssemblyInitialize and AssemblyCleanup are called right after your assembly is loaded and right before your assembly is unloaded.

Atributos para clasesAttributes for classes

Se llaman a ClassInitialize y ClassCleanup inmediatamente después de que se cargue la clase e inmediatamente antes de que se descargue.ClassInitialize and ClassCleanup are called right after your class is loaded and right before your class is unloaded.

Atributos a los métodos de pruebaAttributes for test methods

Atributos utilizados para identificar clases y métodos de pruebaAttributes used to identify test classes and methods

Cada clase de prueba debe tener el atributo TestClass y todos los métodos de prueba deben tener el atributo TestMethod.Every test class must have the TestClass attribute, and every test method must have the TestMethod attribute. Para obtener más información, vea Estructura de una prueba unitaria.For more information, see Anatomy of a unit test.

Las pruebas unitarias pueden comprobar el comportamiento de aplicaciones concretas por su uso de varias clases de aserciones, excepciones y atributos.Unit tests can verify specific application behavior by their use of various kinds of assertions, exceptions, and attributes. Para obtener más información, vea Usar las clases Assert.For more information, see Using the assert classes.

La clase TestContextThe TestContext class

Los siguientes atributos y los valores asignados a ellos aparecen en la ventana Propiedades de Visual Studio para un método de prueba determinado.The following attributes and the values assigned to them appear in the Visual Studio Properties window for a particular test method. Estos atributos no están diseñados para tener acceso a través del código de la prueba unitaria.These attributes are not meant to be accessed through the code of the unit test. En su lugar, afectan a las formas en que se usa o ejecuta la prueba unitaria, ya sea a través del IDE de Visual Studio, o por el motor de pruebas 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. Por ejemplo, algunos de estos atributos aparecen como columnas en las ventanas Administrador de pruebas y Resultados de pruebas, lo que significa que puede usarlas para agrupar y ordenar las pruebas y resultados de pruebas.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. Uno de estos atributos es TestPropertyAttribute, que se utiliza para agregar metadatos arbitrarios a las pruebas unitarias.One such attribute is TestPropertyAttribute, which you use to add arbitrary metadata to unit tests. Por ejemplo, se puede utilizar para almacenar el nombre de una prueba superada que cubre esta prueba, marcando la prueba unitaria con [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")]. O se puede utilizar para almacenar un indicador del tipo de prueba que es con [TestProperty("TestKind", "Localization")].Or, you could use it to store an indicator of the kind of test it is with [TestProperty("TestKind", "Localization")]. La propiedad que se crea mediante este atributo y el valor de propiedad que se asigna se muestran en la ventana Propiedades de Visual Studio bajo el encabezado Específico de prueba.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.

Clases de configuración de pruebaTest configuration classes

Atributos que se utilizan para generar informesAttributes used to generate reports

Los atributos de esta sección relacionan el método de prueba que decoran con entidades de la jerarquía del proyecto de un proyecto de equipo de 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.

Clases utilizadas con descriptores de acceso privadosClasses used with private accessors

Puede generar una prueba unitaria para un método privado.You can generate a unit test for a private method. Esta generación crea una clase de descriptor de acceso privado, que crea una instancia de un objeto de la clase PrivateObject.This generation creates a private accessor class, which instantiates an object of the PrivateObject class. La clase PrivateObject es una clase contenedora que utiliza la reflexión como parte del proceso de descriptor de acceso privado.The PrivateObject class is a wrapper class that uses reflection as part of the private accessor process. La clase PrivateType es similar, pero se utiliza para llamar a métodos estáticos privados en lugar de llamar a métodos de instancia privados.The PrivateType class is similar, but is used for calling private static methods instead of calling private instance methods.

Vea tambiénSee also