如何在 VS 单元测试中包含示例数据文件?

2024-03-02

我想要针对示例 XML 文件运行单元测试。我应该如何将这些文件暴露给单元测试?我尝试过使用内容构建操作,但我无权访问应用程序上下文,因此 GetContentStream 已退出。

我知道我可以将 DataContext 用于 SQL 数据库,但我觉得这是错误的方法。


如果您希望在测试中部署 XML 文件,您有以下几种选择:

嵌入内容

您可以将 Xml 文件作为内容嵌入到程序集中。

  1. 将文件添加到您的测试项目中。在此示例的上下文中,该文件位于项目的根目录下。
  2. 将文件的属性更改为嵌入式资源。
  3. 在测试期间,您可以使用以下命令以流的形式访问文件获取清单资源 http://msdn.microsoft.com/en-us/library/xc4235zt.aspx.

Example:

[TestMethod]
public void GetTheFileFromTheAssembly()
{
    Stream fileStream = Assembly.GetExecutingAssembly()
                          .GetManifestResourceStream("MyNamespace.File.xml");

    var xmlDoc = new XmlDocument();
    xmlDoc.Load(fileStream);

    Assert.IsNotNull( xmlDoc.InnerXml );
}

部署项目属性

您可以使用注释来注释测试方法或类[部署项目属性] http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.webtesting.deploymentitemattribute%28v=VS.100%29.aspx。文件路径是相对于解决方案的。

[DeploymentItem("file.xml")] // file is at the root of the solution
[TestMethod]
public void GetTheFileDeployedWithTheTest()
{
    var xmlDoc = new XmlDocument();
    xmlDoc.Load("file.xml");

    Assert.IsNotNull(xmlDoc.InnerXml);
}

测试设置

您可以使用测试设置文件中的部署配置来部署单个文件或整个目录。 (测试 -> 编辑设置 -> 文件名.testsettings)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 VS 单元测试中包含示例数据文件? 的相关文章

  • cout 没有输出?

    include
  • grailsGrails 单元测试中的应用程序访问

    我正在尝试为使用 grailsApplication config 进行一些设置的服务编写单元测试 看来在我的单元测试中 服务实例无法访问其设置的配置文件 空指针 而当我运行 run app 时它可以访问该设置 我如何配置服务以在单元测试中
  • 如何获取Azure DevOps Pipelines中变量的单元测试结果?

    我在 Azure DevOps 中有一个构建管道 并且正在使用 NET Core 任务来应用单元测试 我需要获取变量中单元测试的结果 例如 如果有 10 个测试用例 其中两个失败 我需要得到如下信息 failedTestCases 2 su
  • QUnit 不会运行测试

    我刚刚开始使用 QUnit 并遇到问题 我目前正在使用 TypeScript 它是一个 JavaScript 编译器 我在与我的主要课程结构平行的课程中进行测试 在每个类中 我都有一个名为 runTests 的函数 为了执行这些测试 我循环
  • 这些 Visual Studio 2010 错误和警告的原因是什么?

    我不知道从 Visual Studio 2010 收到的这些错误的原因 这是我的程序中第 343 行到第 408 行的代码 int create den from img char img file name part int xlen i
  • 在 PyCharm 中禁用 Pytest

    如果我有一个以 test 开头的文件 PyCharm 会尝试使用 PyTest 运行该文件 我想正常运行它 作为常规 Python 脚本 我怎样才能做到这一点 Edit请参阅下面 Milo 的回答 如果由于某种原因这对您不起作用 正如 A
  • Seam 和 Mock 有什么区别?

    自从我使用 java 遗留代码以来已经有几个月了 这是我正在处理的一些事情 0 测试覆盖率 巨大的函数有时我什至看到有的代码超过300行 许多私有方法 有时还有静态方法 高度紧密耦合的代码 一开始我很困惑 我发现在遗留系统中使用TDD很难
  • ASP.NET 项目在移动到另一台计算机时抛出 HTTP 错误 500.19

    我将一个 3 层 ASP NET 项目从运行 Visual Studio 2010 的系统复制到也运行 Visual Studio 2010 的系统 当我右键单击并选择浏览器中位于 UI 层下的文件夹内的文件上的视图时 我得到错误 HTTP
  • Visual Studio 应用程序中有两个以上主要方法?

    在我的项目中 我有两个以上具有相同签名的 Main 方法 一种是winForm 另一种是Console 类 如何将其中任何一个设置为入口点 我宣布 STAThread 在设置入口点的一种主要方法之前 但它不起作用 我正在使用 Visual
  • msvc2010 - 如何建立一个干净的输出目录?

    我在使用 Visual Studio 2010 时遇到问题 因为它现在在构建时使我的输出目录充满了 pdb 和其他文件 在以前版本的 msvc 中 我将中间目录设置为输出目录以外的其他目录 并在那里生成了 pdb 文件 以及基本上其他所有内
  • UnitTest HttpResponse WriteAsync 和 CopyToAsync

    我想对下一个方法进行单元测试 public static async Task SetResponseBody HttpResponse response string message var originalResponseBody re
  • 使用 Minitest 测试自定义验证器

    我有多个带有电子邮件验证的模型 因此 我将验证提取到自定义验证器中 我按照以下教程做到了这一点导轨指南 http guides rubyonrails org active record validations html custom va
  • 如何对嵌套函数进行单元测试? [复制]

    这个问题在这里已经有答案了 您将如何对嵌套函数进行单元测试f1 在下面的例子中 def f def f1 return 1 return 2 或者需要测试的函数不应该嵌套吗 有一个类似的问题这个链接 https stackoverflow
  • 使用 Retrofit2 和 Mockito 或 Robolectric 进行 Android 单元测试

    我可以测试 Retrofit2beta4 的真实响应吗 我需要 Mockito 或 Robolectic 吗 我的项目中没有活动 它将是一个库 我需要测试服务器是否正确响应 现在我有这样的代码并卡住了 Mock ApiManager api
  • 如何使用 google test for C++ 来运行数据组合

    我有一个单元测试 需要针对 200 种可能的数据组合运行 生产实现在配置文件中有要测试的数据 我知道如何模拟这些值 我更喜欢为每个组合编写单独的测试用例 并使用某种方式循环数据 有没有使用 Google test for C 的直接方法 您
  • 使用 typescript、karma 和 jasmine 进行 RxJS Observable.timer 单元测试

    大家好 我对 Angular2 Karma 和 Jasmine 还比较陌生 目前我正在使用 Angular 2 RC4 Jasmine 2 4 x 我有一个 Angular 2 服务 它定期调用 http 服务 如下所示 getDataFr
  • std::unique_ptr 是否需要知道 T 的完整定义?

    我的标题中有一些代码 如下所示 include
  • Coffeescript + 单元测试:全局变量?

    我正在尝试使用 Jasmine 对用 CoffeeScript 编写的小型应用程序进行单元测试 我发现很多资料都说单元测试可以在从 CoffeeScript 编译的 JS 上完美地完成 如果所有内容都包装在匿名函数中以避免污染名称空间 如何
  • 工作流程系统中的单元/自动化测试

    您是否对像 K2 这样的复杂工作流程系统进行自动化测试 我们正在构建一个在 Sharepoint 2007 和 K2 之间进行广泛集成的系统 我什至无法想象从哪里开始自动化测试 因为工作流程涉及多个用户与 Sharepoint K2 工作流
  • 如何让 Visual Studio Team Foundation Server 查看我将代码移至其他文件夹?

    我将一些代码从 C 驱动器移至 D 驱动器 当我打开解决方案时 它告诉我 该解决方案似乎处于源代码控制之下 但其绑定 找不到信息 因为无法恢复 自动丢失信息 其绑定的项目 丢失将被视为不受源代码控制 所以我尝试永久删除绑定并下载最新版本 现

随机推荐

  • C# 如何将 Resharper 错误视为 msvs 2010 中的编译错误?

    我想将 resharper 5 0 错误 可能的空引用异常 视为 MSVC 2010 编译错误 是否可以 Update 因为人们似乎仍在寻找这个答案 这 或者非常类似的事情 今天是可能的 例如StyleCop 分析仪 https githu
  • 以 O(深度) 填充树的函数

    纯函数式数据结构 http books google com books about Purely Functional Data Structures html id SxPzSTcTalAC有以下练习 2 5 Sharing can b
  • Angular2动态改变CSS属性

    我们正在制作一个Angular2应用程序我们希望能够以某种方式创建一个全局 CSS 变量 并在分配变量时更新属性值 我们已经使用 Polymer 一段时间了 现在我们正在切换到 Angular2 组件 并且我们使用了 CSS 属性 Poly
  • 等待异步脚本结果超时 Selenium C# Protractor

    我正在尝试使用 Protractor net 为 AngularJS 平台创建一个自动化测试脚本 并在 C 中使用 Selenium 我使用下面的代码创建了驱动程序 driver new FirefoxDriver Ngdriver new
  • Windows 无法绑定到 49690 以上的端口

    我运行一个绑定到端口 50005 的应用程序已经有一段时间了 似乎最近发生了一些变化 我的机器上没有应用程序能够绑定到 127 0 0 1 上 49690 以上的任何 TCP 端口 有谁知道什么时候 发生了什么变化 操作系统名称 Micro
  • Resharper - 说服管理层[重复]

    这个问题在这里已经有答案了 可能的重复 Reshaper 的业务案例 https stackoverflow com questions 2298308 business case for resharper 我刚刚毕业 正在为我的第一家公
  • 如何知道 MPMoviePlayerController 正在 Iphone OS 3.0 中播放

    我需要知道 MPMoviePlayerController 是否在特定时刻正在播放 在 iphone 3 0 中 它不会触发 MPMoviePlayerContentPreloadDidFinishNotification 有谁知道有什么解
  • IIS 自动启动未禁用空闲超时

    我在 Windows Azure Web 角色上设置 ASP NET 自动启动 我在 Windows Server 2012 上使用 ASP NET 4 5 和 IIS 8 我基本上是跟着那些指示 http www iis net lear
  • C++ 模板 template (双模板?)

    我想建立一个Stack类 因此用户将能够选择他想要使用哪个容器来实现Stack 例如 List Vector 部分代码 stack h ifndef STACK H define STACK H template
  • 设置H2密码

    在嵌入式模式下工作时如何设置自己的密码来访问 h2 如果有人感到困惑 谈论访问数据库的 root 密码 在 Eclipse 中 密码分配似乎是在创建数据库连接时发生的 这反过来又启动了模式创建过程 我们在其中提供用户名和密码 即使这是真的
  • 如何在更改密码时触发 Firebase 中的云功能?

    当用户更改密码时 我试图触发 Firebase 云功能 无论是 更改密码 firebase auth currentUser 更新密码 新密码 或通过重置它 firebase auth 发送密码重置电子邮件 电子邮件 由于我没有在任何地方存
  • 现代 C++ 中比较 double/float 是否相等的现代实践 [重复]

    这个问题在这里已经有答案了 if std abs double1 double2 lt std numeric limits
  • Powershell 编码默认输出

    我在 TFS 构建中运行的 powershell 脚本遇到以下问题 这两个问题都与 TFS 无关 可以使用简单的 powershell 命令行窗口重现 1 与TFS完全无关 看来 Powershell 在管道方面不喜欢德语元音变音 1a 这
  • 来自 XElement 的内部文本? [复制]

    这个问题在这里已经有答案了 我很难从 XElement 的内部文本中获取正确的值 首先 这是我正在使用的 XML 这是我们工作流程中某个流程产生的生产数据的副本 换句话说 我无法更改 XML 只能解析它 我想要获取其内部文本的元素内部包含看
  • 使用 JavaScript 从 Amazon Cognito API 中详尽选择所有用户的安全且可扩展的方法是什么?

    我是一个小团队的一员 在一个相当小的网站上工作 该网站拥有用户帐户 此时大约有100名用户 我们正在使用 Amazon Cognito 进行用户管理 我们的网站上有一个摘要页面 其中显示所有用户和各种属性的列表 表格 然而 有一个硬性限制
  • 使用 Go 和 Cloudformation 部署 AWS Lambda

    我正在自动部署基于 Go 的 AWS Lambda 但遇到了问题 我的 AWS 无服务器模板是 AWSTemplateFormatVersion 2010 09 09 Transform AWS Serverless 2016 10 31
  • 鼠标滚轮在容器内滚动 - 捕获事件

    我有一个带有内部可滚动 DIV 的页面 当我将鼠标悬停在它上面并尝试用鼠标滚轮滚动它时 该 DIV 的内容会根据需要滚动 而主页保持不变 但是当我到达 DIV 滚动区域的底部时 整个页面开始滚动 我尝试在该 div 上设置事件处理程序 但是
  • 如何在松散耦合的应用程序中将状态信息传递到 GUI

    我第一次尝试使用依赖注入来松散地耦合一个新应用程序 我的问题是如何将状态信息传递回用户 在过去 所有代码都塞进 GUI 中 虽然非常混乱且难以维护 但非常容易 课程的安排是这样的 请不要检查我的 UML 技能 它们不存在 如果我们走右手边
  • Google AMP 脚本与 jquery window.scroll 冲突

    我正在尝试遵循 Google 建议的 AMP 指南 ampproject org https www ampproject org 但是一旦我添加了他们的 js 脚本 jQuery 滚动就停止工作 有谁知道为什么以及如何解决它 AMP HT
  • 如何在 VS 单元测试中包含示例数据文件?

    我想要针对示例 XML 文件运行单元测试 我应该如何将这些文件暴露给单元测试 我尝试过使用内容构建操作 但我无权访问应用程序上下文 因此 GetContentStream 已退出 我知道我可以将 DataContext 用于 SQL 数据库