首页 > 其他 > 详细

用Junit编写出能判断控制台输出的测试

时间:2020-04-07 20:07:25      阅读:81      评论:0      收藏:0      [点我收藏+]

在用Junit编写测试文件的时候经常会碰到一些方法,他们会在控制台产生一些输出,应该怎么判断方法的输出确实是我们预期的那样的呢?

下面提供一个简单的判断方法:(其他方法感觉好复杂OTL)

public class helloWorld {
    public void printHelloWorld() {
        System.out.println("HelloWorld");
    }
}

helloWorld类包含一个打印方法,接下类编写测试检测他的输出是否为”HelloWorld“。

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

import static org.junit.Assert.*;

public class helloWorldTest {
    helloWorld helloWorld = new helloWorld();
    private PrintStream console = null;
    private ByteArrayOutputStream bytes = null;

    @Before
    public void init() {
        bytes = new ByteArrayOutputStream();
        console = System.out;
        System.setOut(new PrintStream(bytes));
    }

    @After
    public void tearDown() {
        System.setOut(console);
    }

    @Test
    public void printHelloWorld() {
        helloWorld.printHelloWorld();
        assertEquals("HelloWorld", bytes.toString().trim());
    }

 

测试通过!

技术分享图片

用Junit编写出能判断控制台输出的测试

原文:https://www.cnblogs.com/owczhlol/p/12655046.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!