java如何測試控制臺輸出

控制臺輸出也是可以測試的,以前我一直以為需要mock來做,搞了好久也沒搞定,后來看到了
《spring in action》中的做法,非常漂亮。
首先pom.xml中引入

<dependency>
        <groupId>com.github.stefanbirkner</groupId>
        <artifactId>system-rules</artifactId>
        <version>1.16.0</version>
</dependency>

然后使用SystemOutRule來獲取輸出:

import org.junit.contrib.java.lang.system.SystemOutRule;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;


public class CDPlayerTest {
    @Rule
    public final SystemOutRule log = new SystemOutRule().enableLog();
    @Test
    public void play() {
        System.out.println("ddd");
        Assert.assertEquals("ddd\n", log.getLog());
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容