JUnit介绍.

Slides:



Advertisements
Similar presentations
JUnit 南京大学软件学院 课程内容 单元测试简介 JUnit 简介 JUnit 核心类 / 接口 JUnit 单元测试的步骤 JUnit 实例 JUnit 在 Eclipse 下的使用 JUnit 最佳实践.
Advertisements

阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
C语言程序设计 李伟光.
项目四 组建跨地区网络 授课教师:肖颖.
测试驱动开发与代码重构 -TDD & Refactoring
J2EE与中间件技术 ——Lab.
JUnit 軟體測試架構 JUnit Software Testing Framework
Android开发入门 -----Android 开发“Ready go!” 主讲:李晓蕾
蓄势待发 知识准备阶段.
SVN的基本概念 柳峰
AngularJS -- 使用AngularJS进行开发
测试驱动的设计和开发 ( Test Driven Design and Development ) 基础篇
第二讲 搭建Java Web开发环境 主讲人:孙娜
学习前的准备工作 讲师:burning.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
欢乐玩转单元测试之JUnit 讲师:FREE QQ:
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
辅导课程六.
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Visual Studio Team System 简介
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
科研信息管理工具 Endnote X4 王辉.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
单元测试工具XUnit 任课老师:黄武 下午2时20分 25.
PaPaPa项目架构 By:Listen 我在这.
ENS 10.1安装配置指南 王俊涛 | SE.
Simple , Powerful and fee
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
Gzip编译及调试 曹益华
三:基于Eclipse的集成开发环境搭建与使用
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
录制回放工具使用说明 鲁晓宇
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
姚金宇 MIT SCHEME 使用说明 姚金宇
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
信号量(Semaphore).
第4章 Excel电子表格制作软件 4.4 函数(一).
原 创 通 商业 用模板 xxxxxxx.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
Add up everything what you like and everything what you want
Delphi 7.0开发示例.
WEB321 使用ASP.NET2.0快速开发电子商务网站
OpenStack vs CloudStack
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
方格紙上畫正方形.
Add up everything what you like and everything what you want
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
Java语言程序设计.
DEV310 Microsoft Visual Studio 2005托管代码调试
DEV243 Visual Studio Team System 测试深入探讨
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

JUnit介绍

JUnit概述 JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(Regression Testing Framework),供Java开发人员编写单元测试之用。 思考:为什么要进行单元测试?

安装JUnit Java的JUnit可从网上免费下载http://junit.org 将下载的junit.zip解压到你指定的目录 设置环境变量 Variable:CLASSPATH Variable Value: .;Install Path/junit.jar 对于IDE环境,对于需要用到的JUnit的项目增加到lib中,其设置不同的IDE有不同的设置 .

运行JUnit 命令行 有3种类型的命令行执行,它们都可以从终端窗口运行。对于简单的基于文本的执行,可输入: java junit.textui.TestRunner [TestClass] 还可以运行AWT或SWING用户界面 java junit.awtui.TestRunner [TestClass] 或 java junit.swingui.TestRunner [TestClass]

IDE 一般使用标准控件或代码模板,在IDE中运行JUnit测试。例如,Eclipse项目提供菜单选项,允许使用模板为项目中的一个或多个类定义TestCase。NetBeans提供向导工具来自动创建JUnit TestCase等。

Ant任务执行 Ant定义了一个可添加到构建项目的JUnit测试标记。根据使用的格式,您可以运行单个TestCase或执行批运行。JUnit测试在XML标记<junit>中定义,被放在Ant构建文件中。一些示例如下: <junit> <test name=“SimpleTest”> </junit>

编写JUnit测试 创建JUnit测试基本步骤 继承junit.framework.TestCase 创建test<Name>方法来执行需要的测试 在test<Name>方法中,通过调用一个assert<Condition>方法来执行测试 Junit架构建立在junit.framework.Test接口的基础上,在用JUnit执行测试时,总在实现该接口的类上运行测试

JUnit的各种断言1(assert<Condition>) assertEquals ([String message],expected,actual) assertNull([String message], Object o) Or assertNotNull(…..) assertTrue([String message],boolean condition) Or assertFalse(….)

JUnit的各种断言2 assertSame([String message],expected,actual) Or assertNotSame(…..) fail([String message])

测试案例的初始化和清理 在需要初始化测试使用的资源时覆盖setUp() 在运行TestCase后需要清理时覆盖tearDown() 在运行TestCase时,保证只调用setUp()和tearDown()方法一次。

演示 Case1 Money.java MoneyTest.java MTestMain.java 在命令行下进行测试 在Eclipse下进行测试

测试套件(TestSuite) JUnit的一个关键优势是能够使测试自动执行,如果准备用该架构执行回归测试,您必然希望同时运行一批单元测试。为些,Junit提供了junit.framework.TestSuite类,使你可以不必为每个TestCase对象分别调用TestRunner,就能方便地运行若干个单元测试。

如果要运行单个TestCase,则可以调用TestSuite的一个构造函数,将其与测试关联起来: TestSuite suite=new TestSuite(Money.class); 还可以调用addTest或addTestSuite方法将测试与TestSuite关联起来 TestSuite表示一个Test实现器集合,可以引用其他任何Test,甚至可以引用另一个TestSuite对象。最后,只需要将它们与另一个TestSuite关联起来,就能运行项目中的所有TestSuite对象

要运行TestSuite,需要运行TestSuite包含所有Test对象。若要方便地运行TestSuite,只需使用静态方法suite(返回Test实现器)创建一个Test类。 演示 Case2(MTestMain1.java) JUnit3.8.1自带示例(junit)

测试设计的指导原则 JUnit用于支持测试驱动的开发。该过程的基本理念是:开发测试然后构建满足测试要求的代码。TDD(测试驱动开发)建议执行下列步骤: 设计代码特性的测试 运行测试,检验其失败 修改代码,尽量减少保证测试成功需要的工作 再次运行测试,确保其成功

在编写JUnit测试时,有些人喜欢在单个方法中执行太多的测试。这样做存在以下缺点: 如果一个方法中编写的内容过多,代码将更难维护 如果一个方法中测试的内容过多,将难以隔离测试故障源 如果测试过多,则存在将测试故障“隐藏”到其他故障的风险 如果测试过于复杂,出现故障的机率将增大

JUnit建议先在代码中进行特定测试,然后将这些测试集中到TestSuite中,以提供类或组件稳定性的基准检查。最后,可逐步建立一个更复杂的集成测试。建议在方法中执行单检查测试。