C#测试资源

Ter*_*rni 7 c# unit-testing

我正在使用Microsoft Visual Studio Test Framework,我的一些测试需要一个xml文件作为输入.目前我已将它们放在我的TestProject中的Resource目录下,并通过"..\..\whatever"路径名称访问它们.我希望在使用测试资源文件时提供良好实践的建议,因为我希望在所有这些情况下重用我的测试 - 直接来自VS 2010 - 在我的服务器上构建过程中 - 在透明的持续集成环境中(和简单的方式.

Fre*_*örk 10

首先,我通常会尝试在测试期间减少依赖文件系统的需要(通过为文件系统引入某种抽象,以便可以模拟文件系统访问).

如果那是不可能的,我将这些文件包含在测试项目中,在一个名为TestData或类似的子文件夹中.然后我将"复制到输出目录"设置为"始终复制",以便该文件包含在输出中,并且位于与测试程序集相关的已知位置(无论构建是否在Visual内部完成Studio或构建服务器).只要没有正在测试的代码正在修改文件,但只需要它们来读取数据,这种方法就可以正常工作.

  • VS2010:还将Build Action文件属性设置为"None". (2认同)