参考书籍《单元测试的艺术》

一、单元测试的定义

一个单元测试是一段代码(通常是一个方法),这段代码调用另一段代码(一个单元可以是一个方法或函数),然后检验某些假设的正确性。如果这些假设是正确的,单元测试就成功了,反之单元测试就失败了。

二、单元测试的价值

(1)帮助发现代码缺陷;
(2)修改或重构代码时确保不会影响现有功能;

三、单元测试书写步骤

(1)在目录下先新建对应测试代码的test包,使之与测试项目有相同的子目录;

(2)导入Jnuit测试包;

(3)找到要测试的类对应的java文件;快捷键Alt+Insert弹出Generate功能界面选择Test...;在Destination package选择对应的目标测试包,并勾选上setup()和teardown()方法;

(4)单元测试类框架结构

public class testAddNums{

@Before

public void init(){

//before修饰的方法会在测试方法执行前自动执行

//一般用于资源申请,所有测试方法在执行前都会先执行该方法

}

@Test

public void testAdd(){

//创建对象

//测试方法

//断言是否符合预期

Assert.assertEquals(预期结果,方法结果)

}

@After

public void close(){

//after修饰的方法会在测试方法执行后自动执行

//一般用于释放资源,在所有测试方法执行完成后都会自动执行该方法

}

}

验证阶段需要使用Assert断言方法,常用的有AssetEquals()、AssertTrue()、AssertFalse()、AssertNull()、AssertNotNull()。

四、代码覆盖率

代码覆盖率通常指的是待测试全部代码通过编写测试类后能覆盖到的行,即行覆盖率。(还有其他类型的定义,有兴趣可自行查阅)

在IDEA中可以对整个包、单个类测试覆盖率,方法为:鼠标右键包或类,找到run xxx with coverage命令执行,就会显示出该包或者类的覆盖率。

UT单元测试(一)——基础流程总结篇相关推荐

  1. IBM主机系列课程之单元测试(基础篇)-李海湜-专题视频课程

    IBM主机系列课程之单元测试(基础篇)-3681人已学习 课程介绍         IBM主机环境下进行的单元测试,课程包含单元测试重要知识点,从讲解到示例列举,带你逐步深入了解IBM主机的魅力所在. ...

  2. swift 引用swift_Swift Swift中的单元测试:基础知识

    swift 引用swift In this first part of the Unit Testing in Swift series, we will cover how to add a uni ...

  3. 搜索引擎工作的基础流程与原理

    搜索引擎最重要的是什么?有人会说是查询结果的准确性,有人会说是查询结果的丰富性,但其实这些都不是搜索引擎最最致命的地方.对于搜索引擎来说,最最致命的是查询时间.试想一下,如果你在百度界面上查询一个关键 ...

  4. 高校计算机基础能力测试文字处理,高校计算机基础论文3篇(共8238字).doc

    高校计算机基础论文3篇(共8238字) 高校计算机基础论文3篇(共8238字) 第一篇:高校计算机基础课程实践教学 一.面向应用的计算机基础课程实践教学模式的构建 为实现计算机基础课程教学的培养目标, ...

  5. 新手如何Reverces(基础ctf教程篇)

    新手如何Reverces(基础ctf教程篇) 提示:文章依靠C语言,并且需要了解内存机制 文章目录 新手如何Reverces(基础ctf教程篇) 前言 一.关键代码定位 1.API断点法 2.字符串检 ...

  6. Python基础语法入门篇(一)

    Python基础语法入门篇(二) 1. 注释 在我们工作编码的过程中,如果一段代码的逻辑比较复杂,不是特别容易理解,可以适当的添加注释,以辅助自己 或者其他编码人员解读代码. 注释是给程序员看的,为了 ...

  7. HTML,css和JavaScript的基础学习—JavaScript篇

    HTML,css和JavaScript的基础学习-JavaScript篇 JavaScript是做什么的? JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型 ...

  8. vue2+vue3小白零基础教程—vue2篇,全网2021最详细教程

    vue教程 提示:Vue3系列请参考Vue2+Vue3小白零基础教程-vue3篇文章,本文为vue2篇. 1. Vue核心 1.1 Vue简介 1.1.1 Vue是什么 一套用于构建用户界面的渐进式J ...

  9. 第二章 UT单元测试——GTest框架实例

    系列文章目录 第一章 UT单元测试--GoogleTest通用构建说明 第二章 UT单元测试--GTest框架实例 文章目录 系列文章目录 前言 一.环境配置 二.使用步骤 1.添加待测源码 2.修改 ...

最新文章

  1. 爬虫自动登陆GitHub
  2. Zedboard学习(五):MIO与EMIO操作
  3. 【数据结构链表】之五单链表
  4. 为什么多对多关系需要建立中间表_中间表是什么?和报表有什么关系?会带来怎样的问题?又如何解决?...
  5. ARM AMBA 外围设备 的datasheet
  6. leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法
  7. python 常用模块函数_python函数和常用模块(三),Day5
  8. POJ-3469 Dual Core CPU 最小割最大流
  9. 今年双12全天 邮政、快递企业共揽收邮(快)件达4.6亿件
  10. 关于go语言的测试相关内容笔记
  11. Ubuntu常用软件大全
  12. wifi上行下行速度测试_测试网速_测试网速wifi在线测试
  13. 高通CAMERA 调试
  14. keil 调试指针不跳转 0x00000000 0000 MOVS r0,r0 解决方案
  15. 散点图矩阵 pd.plotting.scatter_matrix
  16. VS2017+QT5.6.0运行时错误QTableWidget: cannot insert an item that is already owned by another QTableWidget
  17. 计算机模拟光照,建筑太阳光照实时模拟软件
  18. 爱奇艺播放技术——300ms背后的故事
  19. CSS——网易云音乐首页之热门推荐歌单的制作
  20. ★★★Windows系统进程列表完全解析★★★

热门文章

  1. css如何将div画成三角形
  2. 11部中考常考的名著思维导图汇总
  3. flask android app socketio加解密 匿名加密聊天室 不被任何官方非官方机构个人监视的匿名聊天室!!! 想聊什么就聊什么!
  4. iOS ☞ SDWebimage 内存暴增问题
  5. 【09年的MACBOK PRO 安装双系统极简教程】
  6. HDU 3085 Nightmare Ⅱ【BFS +曼哈顿距离+综合性较强】
  7. 【Python网络编程和并发-多线程共享数据混乱引出同步锁】
  8. 企业信用资质等级证书的办理流程
  9. MFC 多线程编程总结
  10. Feburary——766.托普利茨矩阵