.NET Webhandler测试字符串相等性比较失败

时间:2016-07-29 09:13:43

标签: c# .net unit-testing

我目前正在为我的.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测试了它们),测试也会失败。收集字符串时是否存在我遗漏的问题?

1 个答案:

答案 0 :(得分:0)

问题是换行符。我的webhandler将换行定义为\n。复制 - 将我的处理程序的结果粘贴到文件中会导致我使用不同的字符串,因为窗口正在使用\r\n进行换行。