2

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);
 }
4

1 に答える 1

4

出力バッファに追加newlineするメソッドのprintステートメントで使用しています。このようにして、「i=1」と等しくない `output = "i=1\r\n" が得られます。get()\r\n

以下のように使用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);
于 2012-11-03T21:35:53.097 に答える