两个Equal Strings不通过断言

时间:2016-12-14 13:20:01

标签: java xml string equals assert

我正在尝试将String与文件内容进行比较,并希望断言它们是否相同。

像:

13CB0000000000X15.xml (input)
13CB0000000000X15.xml (expected (content of file))

我的断言:

assertTrue("Tatsaechliches Ergebnis weicht von '" 
+ expectedResultFileName + "' ab!", result.equals(expected));

这个断言以某种方式失败了,因为它说相等?!

我的文件是UTF-8,没有BOM。没有LF / CRLF或者其他。我甚至试图用:

修剪它
    String expected = readFile(testDataBasePath + 
    File.separator + expectedResultFileName, encoding);
    expected = expected.trim();

    String result   = document.getDocumentElement().getChildNodes().item(0).getNodeValue();             
    result = result.trim();

我错过了什么?

1 个答案:

答案 0 :(得分:0)

你的字符串不相等,句号。当你打印它们时,它们可能看起来相等,但是有很多技巧,比如不同类型的空格字符,看起来都是一样的。或者像混合lowecase l和大写I一样简单,几乎与某些字体无法区分。

一个提示:考虑使用assertEquals(..., a, b)代替assertTrue(..., a.equals(b))。前者可能会在某些IDE中为您提供更好的消息,准确显示字符串的不同之处。