我目前正在为我的.NET应用程序编写测试。为了测试webhandler,我用webclient调用它,并计划将它与来自文件的字符串进行比较,我以前写过这个字符串。
我将期望的字符串存储在文件中,因为WebHandler正在生成一个html文档,我将其作为text / plain返回。
这是我目前使用的代码:
private string getWebResponse(string projectName)
{
string url = "http://webhandler.ashx?parameter={0}";
WebClient client = new WebClient();
return client.DownloadString(string.Format(url, projectName));
}
[TestMethod()]
public void ProcessRequestTest1()
{
string expected = File.ReadAllText(Path.Combine(projectRootFolder, "testresults", "Test (1).txt"), Encoding.UTF8);
Assert.AreEqual(expected, getWebResponse("Test (1)"));
}
运行此测试用例时,即使返回的字符串看起来相同(因为我使用diff-tool测试了它们),测试也会失败。收集字符串时是否存在我遗漏的问题?
答案 0 :(得分:0)
问题是换行符。我的webhandler将换行定义为\n
。复制 - 将我的处理程序的结果粘贴到文件中会导致我使用不同的字符串,因为窗口正在使用\r\n
进行换行。