C# 测试如何在TFS 2012构建中引用父源目录中的外部资源?
我正在设置TFS 2012构建代理,但在引用外部文件的单元测试中遇到了一个小问题。(是的,是的,这很糟糕……没有参数!我仍然需要运行构建)测试正在使用MSTest(VisualStudio.TestTools.UnitTesting)框架 目前,在解决方案根目录下有一个C# 测试如何在TFS 2012构建中引用父源目录中的外部资源?,c#,mstest,tfsbuild,C#,Mstest,Tfsbuild,我正在设置TFS 2012构建代理,但在引用外部文件的单元测试中遇到了一个小问题。(是的,是的,这很糟糕……没有参数!我仍然需要运行构建)测试正在使用MSTest(VisualStudio.TestTools.UnitTesting)框架 目前,在解决方案根目录下有一个Resources文件夹,所有测试(不幸的是,它们在子目录中的深度不同)加载具有某种级别的相对路径的文件(。\\\\\\\\\\\\Resources\\resource.txt) 如您所知,TFS将所有输出复制到与src处于同一
Resources
文件夹,所有测试(不幸的是,它们在子目录中的深度不同)加载具有某种级别的相对路径的文件(。\\\\\\\\\\\\Resources\\resource.txt
)
如您所知,TFS将所有输出复制到与src
处于同一级别的bin
文件夹,该文件夹具有所需的资源
文件夹。无法将此文件夹复制到目录结构中足够高的位置,以使生成代理通过测试
我希望这两个问题中的任何一个都能给我一个解决这个问题的权宜之计:
bin
文件夹中,其层次结构与在Visual Studio中构建时通常的层次结构相同?(我之所以说“简单”是因为我发现一些相当长的构建修改可能可以处理这个问题)选项1:是的,您可以将文件夹及其内容复制到\bin\Debug文件夹:
[TestMethod]
[DeploymentItem("mytestdata.xml")]
选项1:不幸的是,我们不想复制这些外部资源文件(有些是300MB),因为有几个不同的测试程序集使用它们,但这需要改变很多现有的测试代码。选项3可能有一些承诺:)我将进一步研究。我已经对选项3进行了更多的测试,它在本地运行和在构建控制器上运行之间的相对父路径似乎有一些奇怪的特征