![](/img/trans.png)
[英]System.out.println and System.err.println out of order
[英]JUnit test for System.out.println/System.err.println
我必須為應用程序編寫測試,而林正試圖為打印在控制台上的東西編寫虛擬測試。 該應用程序具有->
System.err.println("Username cannot be empty");
到目前為止,這是我所做的:
ByteArrayOutputStream errContent = new ByteArrayOutputStream();
System.setErr(new PrintStream(errContent));
//left username empty and pressed login
assertEquals("Username cannot be empty", errContent.toString());
但是我得到了ComparisonFailure
expected <Username cannot be empty[]>
but was <Username cannot be empty[
]>
//difference of next line.
有人知道如何解決這個問題嗎? 謝謝。
編輯:嘗試assertEquals("Username cannot be empty\\n", errContent.toString());
現在我得到:
expected <Username cannot be empty[]
>
but was <Username cannot be empty[
]
>
您在測試中缺少的是, System.err.println()
在末尾有換行符。 更改assertEquals("Username cannot be empty", errContent.toString());
到assertEquals("Username cannot be empty"+System.getProperty("line.separator"), errContent.toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.