1
我编写了一个序列化XML文件的单元测试。它看起来像这样:在Visual Studio中断言失败后比较字符串
[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或,当我双击在测试失败,预期值和实际值的差异编辑器中打开,这样我可以快速查看他们不同。
Visual Studio是否提供了类似的功能,还是必须将文本复制到剪贴板并手动提取预期值和实际值,然后在文本编辑器中进行比较? XML文本很长,因此我想通过IDE获得一些帮助。
如果我理解你,人们通常称之为“版本比较的工具”,而不是“比较编辑器”。 (我在IDE中没有使用过这个功能。) – 31eee384
对于独立于IDE的方法,如果在直接窗口中调用方法,则可以创建自己的方法,以知道如何将两个字符串发送给用户的差异工具。像'assertResult.OpenTool()',它调用VS的合并工具,或kdiff3,或其他任何东西。这会有帮助吗? – 31eee384
Xunit.net有更好的断言失败消息,我相信它指出了消息中的第一个地方有一个字符差异 - 不完美,但更好的IMO :) – DaveShaw