Usar miembros de Microsoft.VisualStudio.TestTools.UnitTesting en pruebas unitariasUsing Microsoft.VisualStudio.TestTools.UnitTesting Members in Unit Tests

El marco de pruebas unitarias es compatible con pruebas unitarias en Visual StudioVisual Studio.The Unit Testing Framework supports unit testing in Visual StudioVisual Studio. Use las clases y los miembros del espacio de nombres Microsoft.VisualStudio.TestPlatform.UnitTestFramework> cuando codifique pruebas unitarias.Use the classes and members in the Microsoft.VisualStudio.TestPlatform.UnitTestFramework> namespace when you are coding unit tests. Se pueden utilizar cuando haya escrito la unidad de prueba desde el principio o si está adaptando una prueba unitaria que se generó a partir de código que se está probando.You can use them when you have written the unit test from scratch or are refining a unit test that was generated from code you are testing.

Grupo de elementosGroups of Elements

Con el fin de proporcionar una visión general más clara del marco de pruebas unitarias, esta sección organiza los elementos del espacio de nombres UnitTesting en grupos de funcionalidades relacionadas.To help provide a clearer overview of the Unit Testing Framework, this section organizes the elements of the UnitTesting namespace into groups of related functionality.

Nota

Los elementos de atributo, cuyos nombres terminan en la cadena Attribute, se pueden utilizar con o sin la cadena Attribute.Attribute elements, whose names conclude with the string Attribute, can be used either with or without the string Attribute. 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()]

Elementos utilizados para pruebas controladas por datosElements 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, consulte Cómo: Crear una prueba unitaria controlada por datos y Tutorial: usar un archivo de configuración para definir un origen de datos.For more information, see How To: Create a Data-Driven Unit Test and Walkthrough: Using a Configuration File to Define a Data Source.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataAccessMethodMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataAccessMethod

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElementMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElement

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElementCollectionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElementCollection

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, consulte Estructura de una prueba unitaria.For more information, see Anatomy of a Unit Test.

Para los ensambladosFor 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.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyInitializeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyInitializeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyCleanupAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyCleanupAttribute

Para las clasesFor 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.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.ClassInitializeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.ClassInitializeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.ClassCleanupAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.ClassCleanupAttribute

Para los métodos de pruebaFor Test Methods

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestInitializeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestInitializeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestCleanupAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestCleanupAttribute

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, consulte Estructura de una prueba unitaria.For more information, see Anatomy of a Unit Test.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestClassAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestClassAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestMethodAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestMethodAttribute

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

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.Assert

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.CollectionAssertMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.CollectionAssert

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.StringAssertMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.StringAssert

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertFailedExceptionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssertFailedException

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertInconclusiveExceptionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssertInconclusiveException

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.UnitTestAssertExceptionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.UnitTestAssertException

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.ExpectedExceptionAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.ExpectedExceptionAttribute

La clase TestContextThe TestContext Class

Los siguientes atributos y los valores asignados a ellos aparecen en la ventana Propiedades de Visual StudioVisual Studio para un método de prueba determinado.The following attributes and the values assigned to them appear in the Visual StudioVisual 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 StudioVisual Studio, o por el motor de pruebas Visual StudioVisual Studio. 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.Instead, they affect the ways the unit test is used or run, either by you through the IDE of Visual StudioVisual Studio, or by the Visual StudioVisual Studio test engine.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: [TestProperty("TestKind", "Localization")].Or you could use it to store an indicator of the kind of test it is: [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 StudioVisual 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 StudioVisual Studio Properties window under the heading Test specific.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.OwnerAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.OwnerAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DeploymentItemAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DeploymentItemAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DescriptionAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DescriptionAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.HostTypeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.HostTypeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.IgnoreAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.IgnoreAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.PriorityAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.PriorityAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestPropertyAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestPropertyAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.WorkItemAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.WorkItemAttribute

Clases de configuración de pruebaTest Configuration Classes

  • Microsoft.TeamFoundation.TestManagement.Client.ObjectTypes>Microsoft.TeamFoundation.TestManagement.Client.ObjectTypes>

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestConfigurationSectionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestConfigurationSection

Atributos utilizados para la generación de informesAttributes Used for Generating 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 ServerTeam Foundation Server.The attributes in this section relate the test method that they decorate to entities in the project hierarchy of a Team Foundation ServerTeam Foundation Server team project.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.CssIterationAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.CssIterationAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.CssProjectStructureAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.CssProjectStructureAttribute

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.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateObjectMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateObject

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateTypeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateType