在单元测试中使用 Microsoft.VisualStudio.TestTools.UnitTesting 成员

单元测试框架支持在 Visual Studio 中进行单元测试。 对单元测试进行编码时,请使用 Microsoft.VisualStudio.TestPlatform.UnitTestFramework 命名空间中的类和成员。 当您从头开始编写了单元测试或要改进由测试的代码生成的单元测试时,您便可以使用这些类和成员。

元素组

为了帮助提供对单元测试框架的更为清晰的概述,本节将 UnitTesting 命名空间的元素分为相关的功能组。


说明


使用特性元素(其名称以字符串 Attribute 结尾)时,它可以带字符串 Attribute,也可以不带。 例如,下面的两个代码示例功能完全相同:

[TestClass()]

[TestClassAttribute()]

用于数据驱动测试的元素

使用以下元素来设置数据驱动的单元测试。 有关更多信息,请参见如何:创建数据驱动的单元测试演练:使用配置文件定义数据源

  • DataAccessMethod
  • DataSourceAttribute
  • DataSourceElement
  • DataSourceElementCollection

用于建立调用顺序的特性

用下列特性之一进行修饰的代码元素将在您所指定的时刻被调用。 有关更多信息,请参见单元测试分析

对于程序集

在加载程序集之后以及卸载程序集之前,将调用 AssemblyInitialize 和 AssemblyCleanup。

  • AssemblyInitializeAttribute
  • AssemblyCleanupAttribute

对于类

在加载类之后以及卸载类之前,将调用 ClassInitialize 和 ClassCleanup。

  • ClassInitializeAttribute
  • ClassCleanupAttribute

对于测试方法

  • TestInitializeAttribute
  • TestCleanupAttribute

用于标识测试类和方法的特性

每个测试类都必须具有 TestClass 特性,每个测试方法都必须具有 TestMethod 特性。 有关更多信息,请参见单元测试分析

  • TestClassAttribute
  • TestMethodAttribute

Assert 类和相关异常

单元测试可以通过使用各种 Assert 语句、异常和特性来验证特定应用程序的行为。 有关更多信息,请参见使用 Assert 类

  • Assert
  • CollectionAssert
  • StringAssert
  • AssertFailedException
  • AssertInconclusiveException
  • UnitTestAssertException
  • ExpectedExceptionAttribute

TestContext 类

下列特性以及为其所赋的值显示在 Visual Studio 中特定测试方法的"属性"窗口中。 这些特性并未设计为通过单元测试代码来访问。 相反,它们会通过 Visual Studio 的 IDE 或 Visual Studio 测试引擎来影响使用或运行单元测试的方式。例如,其中的一些特性会在测试管理器窗口和测试结果窗口中显示为列,这表示您可以使用这些特性对测试和测试结果进行分组和排序。 此类特性之一是 TestPropertyAttribute,使用它可以向单元测试中添加任意元数据。 例如,可以使用它来存储此测试所涵盖的测试通过的名称,方法是使用 [TestProperty("TestPass", "Accessibility")] 对单元测试进行标记。 或者,您可以使用它来存储此类测试的指示符:([TestProperty("TestKind", "Localization")])。 您使用此特性创建的属性以及所赋的属性值都将显示在标题为"测试特定的"的 Visual Studio"属性"窗口中。

  • OwnerAttribute
  • DeploymentItemAttribute
  • DescriptionAttribute
  • HostTypeAttribute
  • IgnoreAttribute
  • PriorityAttribute
  • TestPropertyAttribute
  • WorkItemAttribute

测试配置类

  • TestConfiguration
  • TestConfigurationSection

用于生成报告的特性

本节中的特性将它们所修饰的测试方法与 Team Foundation Server 团队项目的项目层次结构中的实体相关联。

  • CssIterationAttribute
  • CssProjectStructureAttribute

用于专用访问器的类

Using Publicize to Create a Private Accessor中所述,您可以为私有方法生成单元测试。 此生成会创建专用访问器类,该类将实例化 PrivateObject 类的对象。 PrivateObject 类是一个包装类,它使用反射作为专用访问器进程的一部分。 PrivateType 类与之相似,但它用于调用私有静态方法,而不是调用私有实例方法。

  • PrivateObject
  • PrivateType

请参见

参考

Microsoft.VisualStudio.TestPlatform.UnitTestFramework

时间: 2024-11-07 14:30:03

在单元测试中使用 Microsoft.VisualStudio.TestTools.UnitTesting 成员的相关文章

VS单元测试中Assert类的用法

首先说介绍一下,Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了, 在这里我举例说明Assert里面的一些主要的静态成员. 1.             AreEqual:方法被重载了N多次,主要功能是判断两个值是否相等:如果两个值不相等,则测试失败. 2.            

单元测试中Assert类

一.Assert类的使用 1.Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了. 2.使用Assert类可以对特定功能进行验证,单元测试方法执行开发代码中的方法代码,但只有包含Assert语句时才能报告代码行为方面的内容. 3.Assert在测试方法中,可以调用任意数量的Asser

【Win10】单元测试中捕获异步方法的指定异常

温馨提醒:本文需要知道什么是单元测试才能阅读. 在之前 WPF.ASP.NET 中,单元测试要捕捉指定异常,我们是通过 ExpectedExceptionAttribute 来实现的.如下图: 但是,在 UWP 的单元测试项目中,是没有 ExpectedExceptionAttribute 的(没想到不同平台,M$ 连单元测试的 API 都改-_-|||).那难道只能写个 try-catch,然后检测 Exception 类型是否符合吗?这样写起来未免有些繁琐了.最终,我在另一个命名空间发现了另

Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”

在安装好Visual Studio 2008后,启动Visual Studio 2008 发现如下提示: 包加载失败 未能正确加载包“Microsoft.VisualStudio.Xaml”( GUID = {E58C2A8B-BCC4-4559-AD59-D62EB6D58A22} ).请与包供应商联系以获得帮助.由于可能会发生环境损坏,建议重新启动应用程序.要禁止将来加载此包吗? 可以使用“devenv /resetskippkgs”重新启用包加载. 按照提示,在visual studio

未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”

未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage” VS2012启动/加载项目出问题 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage, Microsoft.VisualStudio.Editor.Implementation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03

Vs2013未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包 解决方案

最近我经常出现上述问题.之前修改一下源代码管理器,把Git修改为无,保存后,再打开没问题了. 今天修改都不行了,重新修复vs2013也一样. 最后终于找到解决方法: 1.运行输入:“%LOCALAPPDATA%\Microsoft\VisualStudio\12.0” 2.将目录中的“ComponentModelCache”文件夹重命名为“ComponentModelCache.Borked”即可.

[开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目,但是并没有像之前那样顺利的创建页面,而是弹出了一个错误窗口. 我的系统是win8专业版 64位 ,同时安装了VS2010和VS2012.然后我又试了一下VS2010,新建项目.新建网站等等,一切正常. 额,看来这个问题就是只和VS2012有关系了. 百度一番之后,找到了两篇文章: vs2012建立

[转]VS 2013 未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService...匹配的导出[vs故障]

未找到与约束 contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService RequiredTypeIdentity Microsoft.VisualStudio.Utilities.IContentTypeRegistryService 的提示框,编译不成功,不能打开配置文件. 匹配的导出 问题 打开项目时,报错! (我用的VS2013)没来得及截图,手一嘚瑟选择了取消.后来再打开不报错了.相当于选择了"不再

开启Visual Studio 2013时,出现Microsoft.VisualStudio.Web.PasteJson.JsonPackage无法载入的可能解決方案

1.先下载:http://www.jb51.net/dll/Microsoft.VisualStudio.Web.PasteJson.dll.html Microsoft.VisualStudio.Web.PasteJson.dll 下载 2.https://dotblogs.com.tw/terrychuang/archive/2014/11/18/147350.aspx 開啟Visual Studio 2013時,出現Microsoft.VisualStudio.Web.PasteJson.