0

我正在运行一些 JUnit 测试,但遇到了比较失败,但我不明白为什么,因为我的实际和预期看起来完全一样。

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

我的 assertequals 声明是:

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

错误是。

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

但是是:<...文件的公羊[

]
4

2 回答 2

2

前面的 3 个空格correctline似乎有所不同。如果它们很重要,那么您的测试已经告诉您这output.toString()是错误的。如果它们不重要,那么要么删除空格,correctline要么调用 totrim()使开头或结尾的空格无关紧要:

assertEquals("wrong contents: printer", correctline.trim(),
    output.toString().trim());
于 2013-10-18T23:40:47.123 回答
0

行尾可能是不同的空白。可以肯定的是,在断言之前放置一个断点,并在调试器中观察预期和实际的字符串——这比尝试多次猜测并每次重新运行测试直到正确为止要快得多。

于 2013-10-19T22:35:24.130 回答