待测类(CreateString)如下:

public class CreateString {
public void createString() {
//Output the following string "1 2 3"
System.out.print("1 2 3\n"); //Output the following string "1 2 3"
System.out.print("1 "+"2 "+"3\n"); //Output the following string "1 2 3"
System.out.print(new String("1 2 3\n")); //Output the following string "1 2 3"
System.out.print(new String("1 2 3\n"));
}

}


开始编写测试类(CreateStringTest)如下:

  1. 在CreateString.Java 文件上右键(或Ctrl+N),弹出下图:

  2. 选择 JUnit test case 或者 Test Suite,弹出下图:

  3. 编写如下测试类代码

    import static org.junit.Assert.*; // Junit 提供断言 assert

    import java.io.ByteArrayOutputStream; // 输出缓冲区

    import java.io.PrintStream; // 打印输出流

    import org.junit.Test; // 提供测试

    public class CreateStringTest {

    // 做三件事情:定义打印输出流(PrintStream console)、输出字节流数组 bytes、新建一个待测对象createString

    PrintStream console = null;

    ByteArrayOutputStream bytes = null;

    CreateString createString;

     @org.junit.Before              // 预处理
    public void setUp() throws Exception { createString = new CreateString(); bytes = new ByteArrayOutputStream();
    console = System.out; System.setOut(new PrintStream(bytes)); } @org.junit.After // 后处理
    public void tearDown() throws Exception { System.setOut(console);
    } @org.junit.Test // 测试
    public void testResult() throws Exception {
    createString.createString(); // 调用方法createString() 输出一系列字符串到 (输出字节流数组)bytes String s = new String("1 2 3\n"+"1 2 3\n"+"1 2 3\n"+"1 2 3\n"); // 作为 Oracle
    assertEquals(s, bytes.toString()); // 比较 Oracle 和 实际输出的值 bytes, PS 需要将数组对象 bytes 转换为字符串。
    }

    }


如何利用JUnit开展一个简单的单元测试(测试控制台输出是否正确)的更多相关文章

  1. 使用junit进行最简单的单元测试

    使用junit进行最简单的单元测试 使用工具: jdk IDEA Maven 第一步 创建一个Maven项目 第二步 导入junit依赖 <dependency> <groupId& ...

  2. 利用ANTLR4实现一个简单的四则运算计算器

    利用ANTLR4实现一个简单的四则运算计算器 ANTLR4介绍 ANTLR能够自动地帮助你完成词法分析和语法分析的工作, 免去了手写去写词法分析器和语法分析器的麻烦 它是基于LL(k)的, 以递归下降 ...

  3. 利用 nodeJS 搭建一个简单的Web服务器(转)

    下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...

  4. 利用VisualStudio单元测试框架举一个简单的单元测试例子

    本随笔很简单,不涉及mock和stub对象,而是只给出一个简单的利用Visual Studio单元测试框架的最简单例子.如果需要深入理解Unit Test的原理与艺术,请参考<The art o ...

  5. 利用VS2008发布一个简单的webservice

    一个开发好的webservice,怎样发布出去,供其他电脑访问呢? 本文将介绍如何发布一个简单的webservice,其中的内容都是在网上查看别人文章,自己仿照着做了一遍,因此,难免会发生错误,如果发 ...

  6. 利用java实现一个简单的远程监控程序

    一般的远程监控软件都是用c或者c++等语言开发的,而使用java如何来实现相同的功能呢. 首先我们先介绍一下一个简单的远程监控程序的实现原理. 功能一,远程屏幕监视 (1) 必须要有监控端与被监控端, ...

  7. 利用jmeter做一个简单的性能测试并进行参数化设置

    1.新增一个线程组,并在下面添加基本原件,包括:监听器.http请求默认值和一个事务控制器 在http请求默认值中填写 ip 地址和端口号,协议类型默认为http 2.添加代理服务器,以便之后进行录制 ...

  8. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)

    上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页  了解了LigerUI 中Grid的基本用法  现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...

  9. 利用OD破解一个简单的C语言程序

    最近在学习汇编(看的是王爽老师的<汇编语言(第三版)>),然后想尝试使用OD(Ollydbg)软件破解一个简单的C语言程序练练手. 环境: C语言编译环境:VC++6.0 系统:在Wind ...

随机推荐

  1. 关于C的int

    在c运行库头文件<stdint.h>中typedef各种类型的int typedef signed char int8_t; typedef unsigned char uint8_t; ...

  2. SpringBoot获取resource下证书失败

    1.第一种失败的情况:    本来使用Spring的上下文容器获取文件,将证书文件放在resource下,编译后获取文件会出现报错 java.security.spec.InvalidKeySpecE ...

  3. bootstrap css布局

    1.移动先行 <meta name="viewport" content="width=device-width, initial-scale=1, maximum ...

  4. day09作业—函数进阶

    # 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def func1(*args): sum = 0 for i in args: sum += i print(sum) func1(1 ...

  5. linux_修改ip(重启后永久生效)

    vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet UUID=a20869f2-4095-4e5d-9b0c- ...

  6. java web实践

    语言:java.javascript 软件:eclipse.mysql 环境配置:下载jdk:配置jdk环境变量.相关教程:https://jingyan.baidu.com/article/db55 ...

  7. Java核心技术之类与对象

    知识点 1. 一个对象变量并没有实际包含一个对象,而仅仅引用一个对象.new操作符的返回值也是一个引用. 2. 局部变量不会自动地初始化为null,而必须用过调用new或将他们设置为null进行初始化 ...

  8. Servlet WebSocket的简易聊天室

    添加依赖 <!-- websocket --> <dependency> <groupId>javax.websocket</groupId> < ...

  9. mac os下提高android studio运行速度终极方法

    /Users/hangliao/ 删除(.android  .gradle)两个文件夹 android studio恢复所有设置到初始化状态,这样会删除已创建的模拟器,所以需从创建一下模拟器 mac ...

  10. boost--线程

     1.thread的使用 boost的thread包含了线程创建.使用.同步等内容,使用thread需要包含头文件"boost\thread.hpp". thread中使用了需要编 ...