由于多行,AssertEquals失败

时间:2017-02-20 12:46:06

标签: java junit stringbuilder multiline

我用StringBuilder生成了两个相同的字符串

for(Integer value : ans.keySet())
 answer.append(String.format("%d=%d\n", value, ans.get(value)));

但是当我写作

assertEquals(answer, answer1);

测试失败,没有差异。我在Windows工作。

2 个答案:

答案 0 :(得分:0)

您可能希望使用%n代替\n

String.format中,这相当于默认系统行结尾,在Windows上为\r\n

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax

  

' N'行分隔符结果是特定于平台的行   分离器

答案 1 :(得分:-1)

您可以使用像ignorewhitespaces

这样的Hamcrest Matchers
assertThat(answer, equalToIgnoringWhiteSpace(answer2));