在Visual Studio中Assert失败后比较字符串
本文关键字:比较 字符串 失败 Assert Visual Studio | 更新日期: 2023-09-27 17:58:31
我编写了一个用于序列化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获得一些帮助。
为了使用C#比较两个字符串,我建议使用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);
}
有关测试其他对象类型之间的相等性,请参见IComparable
https://support.microsoft.com/en-us/kb/320727