我为序列化XML文件编写了一个单元测试。它看起来像这样:
[TestMethod]
public void TestDeserialize()
{
var appValue = Persister.ReadFromXml("before.xml");
Persister.WriteToXml(appValue, "after.xml");
var before = File.ReadAllText("before.xml");
var after = File.ReadAllText("after.xml");
Assert.AreEqual(before, after);
}
测试失败。因此,我在Visual Studio 2015的左下角有一个小窗口,上面写着:
消息:“Assert.AreEqual”出错。预期:其中...>实际:其中...>
在Eclipse或IntelliJ中,当我双击测试失败时,在diff编辑器中打开预期值和实际值,以便我可以快速查看它们的不同之处。
Visual Studio是否提供类似的功能,还是必须将文本复制到剪贴板并手动提取预期值和实际值,然后在文本编辑器中进行比较? XML文本很长,因此我想通过IDE获得一些帮助。
答案 0 :(得分:-2)
为了使用C#比较两个字符串,我建议使用<Duration>
方法。
String.Equals
要测试其他对象类型之间的相等性,请参阅public void TestDeserialize()
{
var appValue = Persister.ReadFromXml("before.xml");
Persister.WriteToXml(appValue, "after.xml");
var before = File.ReadAllText("before.xml");
var after = File.ReadAllText("after.xml");
bool before_equals_after = before.Equals(after, StringComparison.OrdinalIgnoreCase);
}
https://support.microsoft.com/en-us/kb/320727