java中junit用法,JUnit基本用法
现在让我们有一个基本示例来演示使用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基本用法相关推荐
- 【Java学习笔记之二十九】Java中的equals和==的用法及区别
Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String(&quo ...
- Java中PreparedStatement和Statement的用法区别
Java中PreparedStatement和Statement的用法区别 (2012-08-01 11:06:44) 转载▼ 标签: 杂谈 1. PreparedStatement接口继承Sta ...
- Java中static的含义和用法
Java中static的含义和用法 static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! ...
- Java中栈和队列的用法 Stack And Queue
Java中栈和队列的用法 栈的实现 使用Java的集合类Stack boolean isEmpty();//判断当前栈是否为空,等价于empty(); synchronized E peek();// ...
- java drawstring字体大小,JAVA中,drawstring 方法的用法,格式是什么啊
啦啦啦额68的回答 Java中Graphics类的drawString()方法: i)drawString(String str,int x,int y): String str是可以在屏幕上显示的字 ...
- java中的Queue队列的用法
大家好,欢迎来到雄雄的小课堂,今天给大家分享的是"java中的Queue队列的用法" 前言:好多人对Queue不是很熟悉,毕竟平时也不怎么用,遇到集合要么List要么map这些常用 ...
- Java中BigDecimal类介绍及用法
Java中BigDecimal类介绍及用法 Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高 ...
- Java中final的三种用法
在java中final的三种用法: 1. final成员变量 2. final函数 3. final类 final成员变量 当你在类中定义变量时,在其前面加上final关键字,那便是说这个变量一旦被初 ...
- Java中的final,finalized,finally用法
Java中的final,finalized,finally用法 final: final可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或 ...
- java中原子变量AtomicInteger等用法
在java中的变量在++等操作是不是原子操作,分为先加一,然后赋值,从而在多线程编码时需要加上synchronizeed,为了增加易用性,java当前提供了原子变量,当前的原子变量有AtomicBoo ...
最新文章
- 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)
- java 抽象工厂工厂_Java设计模式之简单工厂、工厂方法和抽象工厂
- Algorithm:C++语言实现之内排序、外排序相关算法(插入排序 、锦标赛排序、归并排序)
- PokeCats开发者日志(二)
- 最近开始接触网络电话
- 爱我少一点,我请求你
- Cloudera Manager是什么?
- 【WebRTC---入门篇】(十二)WebRTC传输协议
- php无限次执行函数,php-PHP一个方法根据传递值怎么执行多次?
- Python基本操作(二)注释、分隔
- python3安装M2Crypto模块
- wp10 手机 部署linux,【图片】02-15【吐槽】【转】win10手机端直接安装xap教程!【windowsphone吧】_百度贴吧...
- mysql分页查询参数的含义_mysql分页查询详解
- 知识追寻者网址神器私藏合集
- npm-Babel转码器
- 太阳诱电 | 汽车用金属功率电感器MCOIL™ LCEN 系列实现商品化
- SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‘\xF0\x9F\x98\x84‘ for column ‘content‘
- 盘一盘那些开设了大数据专业的中国高校
- C++ Lambda 表达式教程
- 关于微软学术搜索项目
热门文章
- 2019款新iPhone发布时间曝光:依旧9月12日亮相?
- 为推广苹果音乐服务 库克再度现身北京
- 女儿是程序员爸爸的小棉袄,礼物太暖心
- 训练集山准确率高测试集上准确率很低_拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
- 一台CentOS云主机更改源的记录
- 【算法】剑指 Offer 06. 从尾到头打印链表
- 95-20-050-启动器-ServerBootstrap
- 【Flink】Flink 1.9 升级 1.12.4 本地可以运行 打包后 集群运行就找不到类 ClassNotFoundException
- 【SpringClould】 eureka 的自我保护机制
- 【Docker】elasticsearch 监控工具 elasticsearch-HQ Unable to create connection to: http://localhost:9200