现在让我们有一个基本示例来演示使用JUnit的分步过程。

创建一个类

创建一个要测试的Java类,例如 C:\ > JUNIT_WORKSPACE中的 MessageUtil.java **

/*

* This class prints the given message on console.

*/

public class MessageUtil {

private String message;

//Constructor

//@param message to be printed

public MessageUtil(String message){

this.message = message;

}

// prints the message

public String printMessage(){

System.out.println(message);

return message;

}

}

创建测试用例类

创建一个java测试类,比如TestJunit.java。

将测试方法testPrintMessage()添加到您的测试类。

向方法testPrintMessage()添加Annotaion @Test。

实现测试条件并使用JUnit的assertEquals API检查条件。

在 C:\ > JUNIT_WORKSPACE中创建一个java类文件名 TestJunit.java 。

import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class TestJunit {

String message = "Hello World";

MessageUtil messageUtil = new MessageUtil(message);

@Test

public void testPrintMessage() {

assertEquals(message,messageUtil.printMessage());

}

}

创建测试运行器类

创建一个TestRunner java类。

使用JUnitCore类的runClasses方法运行上面创建的测试类的测试用例。

获取Result Object中运行的测试用例的结果。

使用Result对象的getFailures()方法获取失败。

使用Result对象的wasSuccessful()方法获取成功结果。

在 C:\ > JUNIT_WORKSPACE中创建一个名为TestRunner.java的java类文件来执行测试用例。

import org.junit.runner.JUnitCore;

import org.junit.runner.Result;

import org.junit.runner.notification.Failure;

public class TestRunner {

public static void main(String[] args) {

Result result = JUnitCore.runClasses(TestJunit.class);

for (Failure failure : result.getFailures()) {

System.out.println(failure.toString());

}

System.out.println(result.wasSuccessful());

}

}

使用javac编译MessageUtil,测试用例和测试运行器类。

C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java

现在运行Test Runner,它将运行提供的Test Case类中定义的测试用例。

C:\JUNIT_WORKSPACE>java TestRunner

验证输出。

Hello World

true

现在更新 C:\ > JUNIT_WORKSPACE中的TestJunit,以便测试失败。更改消息字符串。

import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class TestJunit {

String message = "Hello World";

MessageUtil messageUtil = new MessageUtil(message);

@Test

public void testPrintMessage() {

message = "New Word";

assertEquals(message,messageUtil.printMessage());

}

}

让我们按照原样保留其余的类,并尝试运行相同的测试运行器。

import org.junit.runner.JUnitCore;

import org.junit.runner.Result;

import org.junit.runner.notification.Failure;

public class TestRunner {

public static void main(String[] args) {

Result result = JUnitCore.runClasses(TestJunit.class);

for (Failure failure : result.getFailures()) {

System.out.println(failure.toString());

}

System.out.println(result.wasSuccessful());

}

}

现在运行Test Runner,它将运行提供的Test Case类中定义的测试用例。

C:\JUNIT_WORKSPACE>java TestRunner

验证输出。

Hello World

testPrintMessage(TestJunit): expected: but was:

false

java中junit用法,JUnit基本用法相关推荐

  1. 【Java学习笔记之二十九】Java中的equals和==的用法及区别

    Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String(&quo ...

  2. Java中PreparedStatement和Statement的用法区别

    Java中PreparedStatement和Statement的用法区别 (2012-08-01 11:06:44) 转载▼ 标签: 杂谈   1. PreparedStatement接口继承Sta ...

  3. Java中static的含义和用法

    Java中static的含义和用法 static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! ...

  4. Java中栈和队列的用法 Stack And Queue

    Java中栈和队列的用法 栈的实现 使用Java的集合类Stack boolean isEmpty();//判断当前栈是否为空,等价于empty(); synchronized E peek();// ...

  5. java drawstring字体大小,JAVA中,drawstring 方法的用法,格式是什么啊

    啦啦啦额68的回答 Java中Graphics类的drawString()方法: i)drawString(String str,int x,int y): String str是可以在屏幕上显示的字 ...

  6. java中的Queue队列的用法

    大家好,欢迎来到雄雄的小课堂,今天给大家分享的是"java中的Queue队列的用法" 前言:好多人对Queue不是很熟悉,毕竟平时也不怎么用,遇到集合要么List要么map这些常用 ...

  7. Java中BigDecimal类介绍及用法

    Java中BigDecimal类介绍及用法 Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高 ...

  8. Java中final的三种用法

    在java中final的三种用法: 1. final成员变量 2. final函数 3. final类 final成员变量 当你在类中定义变量时,在其前面加上final关键字,那便是说这个变量一旦被初 ...

  9. Java中的final,finalized,finally用法

    Java中的final,finalized,finally用法 final: final可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或 ...

  10. java中原子变量AtomicInteger等用法

    在java中的变量在++等操作是不是原子操作,分为先加一,然后赋值,从而在多线程编码时需要加上synchronizeed,为了增加易用性,java当前提供了原子变量,当前的原子变量有AtomicBoo ...

最新文章

  1. 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)
  2. java 抽象工厂工厂_Java设计模式之简单工厂、工厂方法和抽象工厂
  3. Algorithm:C++语言实现之内排序、外排序相关算法(插入排序 、锦标赛排序、归并排序)
  4. PokeCats开发者日志(二)
  5. 最近开始接触网络电话
  6. 爱我少一点,我请求你
  7. Cloudera Manager是什么?
  8. 【WebRTC---入门篇】(十二)WebRTC传输协议
  9. php无限次执行函数,php-PHP一个方法根据传递值怎么执行多次?
  10. Python基本操作(二)注释、分隔
  11. python3安装M2Crypto模块
  12. wp10 手机 部署linux,【图片】02-15【吐槽】【转】win10手机端直接安装xap教程!【windowsphone吧】_百度贴吧...
  13. mysql分页查询参数的含义_mysql分页查询详解
  14. 知识追寻者网址神器私藏合集
  15. npm-Babel转码器
  16. 太阳诱电 | 汽车用金属功率电感器MCOIL™ LCEN 系列实现商品化
  17. SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‘\xF0\x9F\x98\x84‘ for column ‘content‘
  18. 盘一盘那些开设了大数据专业的中国高校
  19. C++ Lambda 表达式教程
  20. 关于微软学术搜索项目

热门文章

  1. 2019款新iPhone发布时间曝光:依旧9月12日亮相?
  2. 为推广苹果音乐服务 库克再度现身北京
  3. 女儿是程序员爸爸的小棉袄,礼物太暖心
  4. 训练集山准确率高测试集上准确率很低_拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
  5. 一台CentOS云主机更改源的记录
  6. 【算法】剑指 Offer 06. 从尾到头打印链表
  7. 95-20-050-启动器-ServerBootstrap
  8. 【Flink】Flink 1.9 升级 1.12.4 本地可以运行 打包后 集群运行就找不到类 ClassNotFoundException
  9. 【SpringClould】 eureka 的自我保护机制
  10. 【Docker】elasticsearch 监控工具 elasticsearch-HQ Unable to create connection to: http://localhost:9200