我已经产生了两个相同的字符串与StringBuilder的的assertEquals失败,因为多线
for(Integer value : ans.keySet())
answer.append(String.format("%d=%d\n", value, ans.get(value)));
,但是当我写
assertEquals(answer, answer1);
测试失败,也没有diffrences。我在Windows上工作。
我已经产生了两个相同的字符串与StringBuilder的的assertEquals失败,因为多线
for(Integer value : ans.keySet())
answer.append(String.format("%d=%d\n", value, ans.get(value)));
,但是当我写
assertEquals(answer, answer1);
测试失败,也没有diffrences。我在Windows上工作。
您可能需要使用%n
而不是\n
。
在String.format
,这一数额为默认系统行结束,它在Windows上是\r\n
:
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax
'N' 行分隔符结果为特定于平台的行 分离
是的,这是很好的建议,但它仍然不起作用。 –
String.format(“%d =%d%n”,value,ans.get(value)) –
您可以使用Hamcrest Matchers,如ignorewhitespaces
assertThat(answer, equalToIgnoringWhiteSpace(answer2));
向我们展示完整的实现以及answer1创建 –
欢迎来到Stack Overflow!请参考[游览](http://stackoverflow.com/tour),环顾四周,阅读[帮助中心](http://stackoverflow.com/help),特别是[我该如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)和[我可以问什么问题?](http://stackoverflow.com/help/on-topic)。 - 当它在* Windows *中工作时,它在哪里失效? –
@MaciejKowalski这是相同的,作为回答 –