assertEquals()失败的原因

时间:2012-11-03 21:28:20

标签: java junit

即使两个字符串相同,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);
 }

1 个答案:

答案 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);
相关问题