在Visual Studio中断言失败后比较字符串

时间:2016-07-23 16:52:14

标签: c# visual-studio

我为序列化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获得一些帮助。

1 个答案:

答案 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