【发布时间】:2012-08-17 15:15:45
【问题描述】:
我有一个单元测试,它查看包含在我的测试项目中的文本文件。我不得不采取这条路线,因为我似乎无法正确复制 C# 字符串中的特殊字符,用户正在进入原始数据本身(其他系统)。
单元测试在排列部分读取文件的内容,然后对内容进行操作以确保事情按计划进行。
在本地,测试运行良好——零问题。
我们运行 TFS2010 构建,但我的构建每次都未能通过该测试,因为在构建服务器上运行测试时找不到文本文件本身。
我的文件目前位于测试项目本身名为“Assets”的目录中,文本文件的属性是:
- 构建操作:内容
- 复制到输出目录:始终复制
测试代码是
[TestMethod]
public void Broken_First_Token_Ok_Second_Returns_Full_String()
{
string rawText = string.Empty;
// load the broken translation
using (StreamReader reader = new StreamReader(@"Assets\BrokenTranslation.txt")){
rawText = reader.ReadToEnd();
}
string expected = rawText;
string actual = [Some code that should return the proper values]
Assert.AreEqual(expected, actual, "Failed to return proper match");
}
我错过了什么?
【问题讨论】:
-
您是否尝试过通过 DeploymentItem 属性使文本文件可用于您的测试?这篇博文描述了如何以及为什么要使用它:luisfsgoncalves.wordpress.com/2011/05/31/…
-
@IanGilroy,您想将其添加为答案吗?很棒的链接,正是我想要的。
标签: unit-testing tfsbuild