即使两个字符串相同,assertEquals()也会失败...有人可以帮我找出原因吗?
public void testSet()
{
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
instance.get();
String output = outContent.toString();
String input="i=1\r\n";
assertEquals(input,output);
}
get()
{
int i=1;
System.out.println("i="+i);
}
答案 0 :(得分:4)
您在newline
方法的print语句中使用get()
,该方法在输出缓冲区中附加\r\n
。这样你就得到`output =“i = 1 \ r \ n”,它不等于“i = 1”。
使用print without newline i.e. print()
,如下所示:
System.out.print("i="+i);
如果您不想使用print()
方法,请从输出中截断\r\n
,如下所示:
String output = outContent.toString();
output = output.replaceAll("\r\n", "");
String input="i=1";
assertEquals(input,output);