待测类(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. 检查mysql是否运行

    netstat -tunple|grep mysql

  2. rapidjson 的封装学习

    #pragma once #include "Util.h" #include "rapidjson/writer.h" #include "rapi ...

  3. QueryRunner类的八种结果处理集

    package cn.jy.demo; import java.sql.Connection; import java.sql.SQLException; import java.util.List; ...

  4. android-如何获得当前正在运行的activity的相关信息

    http://blog.csdn.net/centralperk/article/details/7269326 ActivityManager manager = (ActivityManager) ...

  5. Git工具和GitHub的使用

    一.Git工具的安装 1)centos系统下安装 1.1)查看环境 [root@gitlab ~]# rpm -qa centos-release centos-release--4.1708.el7 ...

  6. Spring框架简介

    1.发明者:Rod Johnson 2.轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子 2.2 IT行业:直接只用写好的代码 3.Spring框架宗旨:不重新发明技术,让原有技术使用起来更加方便 ...

  7. django之http

    一 http协议介绍 http协议(Hyper Text Transfer Protocol):超文本传输协议,是基于应用层的面向对象协议,靠tcp协议和IP来传输数据,请求和响应是http协议的基本 ...

  8. 集成 dubbo 微服务

    微服务架构近年来非常的火,阿里 的dubbo 是其中的一种解决方案. dubbo 的微服务主要分为以下几部分: 1.注册中心 2.服务提供者 3.消费者 4.监控平台 1.一般流程服务提供者向注册中心 ...

  9. java Concurrent包学习笔记(五):Semaphore

    一.Semaphore 是什么  信号量Semaphore是一个并发工具类,用来控制可同时并发的线程数,其内部维护了一组虚拟许可,构造函数初始化的时候可以指定许可的总数量 每次线程执行操作时先通过ac ...

  10. 1.3currentThread()方法

    该方法可返回代码段正在被哪个线程调用的信息 package com.cky.test; /** * Created by chenkaiyang on 2017/12/2. */ public cla ...