我有一个单元测试,它检查我的测试项目中包含的一个文本文件。由于我似乎无法正确复制用户输入到原始数据(某些其他系统)中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");
}
我错过了什么?