单元测试的测试文件应该放在哪里?

8

我是一名编写单元测试的开发者,需要访问外部文件。我原以为只需要将文件放在我的解决方案中,标记它以便复制到输出目录,然后通过相对路径访问即可。但不幸的是,似乎单元测试是在一个奇怪的目录中运行。

因此,与其从以下位置运行:

[MyUnitTestProjectFolder]\bin\Release

它运行于:

[MySolution]\\[TheProjectI'mTesting]\TestResults\\[MyUsername]_[MyComputerName] [DateTimeStamp]\Out

我的问题是,如何设置访问我在单元测试中需要使用的外部文件?
请注意,这些文件不是文本文件。它们是一种专有的平面文件数据库格式(从另一个应用程序创建),因此在测试运行期间“即时”准备这些文件是不可行的。
1个回答

15
你可以通过测试运行配置来实现这一点:打开“测试”菜单,“编辑测试运行配置”,选择要编辑的测试配置,并选择“部署”视图。在这里,您可以添加需要部署的任何额外文件。
或者,您可以在测试中使用DeploymentItem属性。
我已经查看了Visual Studio 2008,但我认为Visual Studio 2010中存在相同的功能。

2
+1 for DeploymentItem(和链接)。快速提示:如果在多个测试中使用,可以在类本身上使用DeploymentItem属性。另外,请注意Url是相对于PROJECT文件夹而不是CLASS子文件夹(如果您的测试类被分成子文件夹)。 - Mark van Proctor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接