0

いくつかの JUnit テストを実行していて、ComparisonFailure に遭遇しましたが、実際の値と期待値がまったく同じに見えるため、理由がわかりません。

correctline = "   The following  quotation about writing  test programs for  a document" + "\n";

私の assertequals ステートメントは次のとおりです。

assertEquals("wrong contents: line", correctline, output.toString());

エラーは。

wrong contents: line expected:<...rams for  a document[]

しかし、次のとおりでした:<...ドキュメントのラム[

]
4

2 に答える 2

2

の前にある 3 つのスペースcorrectlineが違いのようです。それらが重要である場合、テストはそれoutput.toString()が間違っていることを示しています。それらが重要でない場合は、スペースを削除するか、 をcorrectline呼び出してtrim()、先頭または末尾の空白を問題にしないようにします。

assertEquals("wrong contents: printer", correctline.trim(),
    output.toString().trim());
于 2013-10-18T23:40:47.123 に答える
0

行末の別の空白である可能性があります。確かに、アサーションの前にブレークポイントを置き、デバッガーで期待される文字列と実際の文字列を目で確認します。これは、いくつかの推測を試みて、正しくなるまで毎回テストを再実行するよりもはるかに高速です。

于 2013-10-19T22:35:24.130 に答える