ComparisonFailure - 看不到物理差异

时间:2013-10-18 23:36:42

标签: java junit

我正在运行一些JUnit测试而且遇到了CompareFailure,但我无法理解为什么,因为我的实际和期望的外观完全相同。

correctline = "   The following  quotation about writing  test programs for  a document" + "\n";

我的断言声明是:

assertEquals("wrong contents: line", correctline, output.toString());

错误是。

wrong contents: line expected:<...rams for  a document[]
  

但是:&lt; ... rams for a document [

]

2 个答案:

答案 0 :(得分:2)

correctline前面的3个空格似乎是不同的。如果它们很重要,那么您的测试告诉您output.toString()是错误的。如果它们不重要,则要么从correctline中移除空格,要么调用trim()以在开头或结尾处建立空格无关紧要:

assertEquals("wrong contents: printer", correctline.trim(),
    output.toString().trim());

答案 1 :(得分:0)

在行尾可能是不同的空白区域。可以肯定的是,在断言之前设置一个断点并在调试器中注意预期的和实际的字符串 - 这比尝试几次猜测和每次重新运行测试要快得多,直到你做对了。