.NET Web处理程序测试字符串相等性比较失败



我目前正在为我的.NET应用程序编写测试。为了测试一个网络处理程序,我用一个网络客户端调用它,并计划将它与我之前编写的文件中的字符串进行比较。

我将预期的字符串存储在一个文件中,因为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工具测试了这两个字符串)。收集字符串时是否遗漏了某个问题?

问题在于换行符。我的网络处理程序将换行定义为n。复制将处理程序中的结果粘贴到文件中会导致我使用不同的字符串,因为windows正在使用rn进行换行。

最新更新