我正在尝试将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();
我错过了什么?
答案 0 :(得分:0)
你的字符串不相等,句号。当你打印它们时,它们可能看起来相等,但是有很多技巧,比如不同类型的空格字符,看起来都是一样的。或者像混合lowecase l
和大写I
一样简单,几乎与某些字体无法区分。
一个提示:考虑使用assertEquals(..., a, b)
代替assertTrue(..., a.equals(b))
。前者可能会在某些IDE中为您提供更好的消息,准确显示字符串的不同之处。