Поделиться через


Использование членов Microsoft.VisualStudio.TestTools.UnitTesting в модульных тестах

Платформа Unit Testing Framework поддерживает выполнение модульных тестов в Visual Studio.При написании кода модульных тестов используются классы и члены пространства имен Microsoft.VisualStudio.TestPlatform.UnitTestFramework.Они используются как при создании модульных тестов с нуля, так и при доработке тестов, созданных из проверяемого кода.

Группы элементов

Для более четкого представления общих сведений о платформе Unit Testing Framework элементы пространства имен "UnitTesting" в данном разделе упорядочены по группам в зависимости от функциональности.

ПримечаниеПримечание

Элементы атрибутов, имена которых заканчиваются строкой "Attribute", могут использоваться как со строкой "Attribute", так и без нее.Например, следующие два примера кода выполняют одну и ту же задачу.

[TestClass()]

[TestClassAttribute()]

Ff770525.collapse_all(ru-ru,VS.110).gifЭлементы, используемые для управляемого данными тестирования

Для настройки управляемых данными модульных тестов используются следующие элементы.Дополнительные сведения см. в разделах Практическое руководство. Создание модульного теста, управляемого данными и Пошаговое руководство. Использование файла конфигурации для определения источника данных.

  • DataAccessMethod

  • DataSourceAttribute

  • DataSourceElement

  • DataSourceElementCollection

Атрибуты, используемые для установки порядка вызовов

Кодовая точка, оформленная одним из следующих атрибутов, вызывается в указанный момент времени.Дополнительные сведения см. в разделе Составляющие модульного теста.

Ff770525.collapse_all(ru-ru,VS.110).gifДля сборок

Методы "AssemblyInitialize" и "AssemblyCleanup" вызываются сразу после загрузки сборки и непосредственно перед ее выгрузкой.

  • AssemblyInitializeAttribute

  • AssemblyCleanupAttribute

Ff770525.collapse_all(ru-ru,VS.110).gifДля классов

Методы "ClassInitialize" и "ClassCleanup" вызываются сразу после загрузки класса и непосредственно перед его выгрузкой.

  • ClassInitializeAttribute

  • ClassCleanupAttribute

Ff770525.collapse_all(ru-ru,VS.110).gifДля методов теста

  • TestInitializeAttribute

  • TestCleanupAttribute

Атрибуты, используемые для идентификации тестовых классов и методов

Каждый тестовый класс должен иметь атрибут "TestClass", каждый тестовый метод — атрибут "TestMethod".Дополнительные сведения см. в разделе Составляющие модульного теста.

  • TestClassAttribute

  • TestMethodAttribute

Классы "Assert" и связанные с ним исключения

С помощью модульных тестов можно проверить поведение конкретного приложения, используя различные вид операторов, исключений и атрибутов "Assert".Дополнительные сведения см. в разделе Использование классов Assert.

  • Assert

  • CollectionAssert

  • StringAssert

  • AssertFailedException

  • AssertInconclusiveException

  • UnitTestAssertException

  • ExpectedExceptionAttribute

Класс "TestContext"

В окне свойств Visual Studio отображаются следующие атрибуты и связанные с ними значения для конкретного метода теста.Эти атрибуты не предназначены для доступа из кода модульного теста.Вместо этого они влияют на способ применения или выполнения модульного теста либо через интегрированную среду разработки Visual Studio, либо через обработчик тестов Visual Studio. Например, некоторые из этих атрибутов появляются в качестве столбцов в окне диспетчера тестов и окне результатов теста, что позволяет использовать их для группировки и сортировки тестов и их результатов.Одним из таких атрибутов является "TestPropertyAttribute", с помощью которого в модульные тесты добавляются произвольные метаданные.Например, его можно использовать для хранения имени области действия пройденного теста, пометив модульный тест с помощью [TestProperty("TestPass", "Accessibility")].Или его можно использовать для хранения индикатора типа теста: [TestProperty("TestKind", "Localization")].Созданное с помощью этого атрибута свойство и присвоенное ему значение отобразятся в окне свойств Visual Studio под заголовком Сведения теста.

  • OwnerAttribute

  • DeploymentItemAttribute

  • DescriptionAttribute

  • HostTypeAttribute

  • IgnoreAttribute

  • PriorityAttribute

  • TestPropertyAttribute

  • WorkItemAttribute

Классы конфигурации теста

Атрибуты, используемые для формирования отчетов

В этом разделе описаны атрибуты, связывающие метод теста, к которому они применены, с сущностями в иерархии командного проекта Team Foundation Server.

  • CssIterationAttribute

  • CssProjectStructureAttribute

Классы, использующие закрытые методы доступа

Как описывается в разделе Using Publicize to Create a Private Accessor, вы можете создать модульный тест для закрытого метода.При этом создается класс закрытых методов доступа, являющийся экземпляром объекта класса "PrivateObject".Класс "PrivateObject" является классом-оболочкой, использующим отражение в рамках процесса доступа через закрытые методы.Аналогичным является класс "PrivateType", но вместо вызова закрытых методов экземпляра используется вызов закрытых статических методов.

  • PrivateObject

  • PrivateType

См. также

Ссылки

Microsoft.VisualStudio.TestPlatform.UnitTestFramework