Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 由于多行,AssertEquals失败_Java_Junit_Stringbuilder_Multiline - Fatal编程技术网

Java 由于多行,AssertEquals失败

Java 由于多行,AssertEquals失败,java,junit,stringbuilder,multiline,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中工作。您可能希望使用%n而不是\n 在String.format中,这等于默认的系统行结尾,在Windows上为\r\n:

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

for(Integer value : ans.keySet())
 answer.append(String.format("%d=%d\n", value, ans.get(value)));
但是当我写作的时候

assertEquals(answer, answer1);

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

您可能希望使用
%n
而不是
\n

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

“n”行分隔符结果是平台特定的行 分离器


您可以像这样使用Hamcrest匹配器


向我们展示完整的实现以及answer1 Creation欢迎使用Stack Overflow!请拿着这本书,四处看看,仔细阅读,尤其是和当它在Windows中工作时,它会在哪里失败呢?@MaciejKowalski它是一样的,就像answer@AverinMaxim给我们可以运行和查看的代码@JaroslawPawlak,只需克隆存储库并运行Tester.javaNo,错了。空白是空白,行分隔符是行分隔符。
assertThat(answer, equalToIgnoringWhiteSpace(answer2));