简介

单元测试是用来进行测试我们业务代码是否有问题,而不用在业务代码中到处System.out.println(),在基于maven的项目中,默认就给我们生成了test目录专门用来写单元测试。在spring 项目中主要使用Junit框架来实现单元测试,而单元测试中最多用到的就是断言,通过断言来判断程序是否符合预期。

JUnit 中的断言

Junit所有的断言都包含在 Assert 类中。

这个类提供了很多有用的断言方法来编写测试用例。只有失败的断言才会被记录。Assert 类中的一些有用的方法列式如下:

  1. void assertEquals(boolean expected, boolean actual):检查两个变量或者等式是否平衡
  2. void assertTrue(boolean expected, boolean actual):检查条件为真
  3. void assertFalse(boolean condition):检查条件为假
  4. void assertNotNull(Object object):检查对象不为空
  5. void assertNull(Object object):检查对象为空
  6. void assertSame(boolean condition):assertSame() 方法检查两个相关对象是否指向同一个对象
  7. void assertNotSame(boolean condition):assertNotSame() 方法检查两个相关对象是否不指向同一个对象
  8. void assertArrayEquals(expectedArray, resultArray):assertArrayEquals() 方法检查两个数组是否相等
方法名 方法的解释
void assertEquals(boolean expected, boolean actual) 检查两个变量或者等式是否平衡
void assertTrue(boolean expected, boolean actual) 检查条件为真
void assertFalse(boolean condition) 检查条件为假
void assertNotNull(Object object) 检查对象不为空
void assertNull(Object object) 检查对象为空
void assertArrayEquals(expectedArray, resultArray) 检查两个数组是否相等
void assertSame(expected, actual) 查看两个对象的引用是否相等。类似于使用“==”比较两个对象
assertNotSame(unexpected, actual) 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象
fail() 让测试失败

JUnit 中的注解

主要注解

@Test:这个注释说明依附在 JUnit 的 public void 方法可以作为一个测试案例。

@Before:有些测试在运行前需要创造几个相似的对象。在 public void 方法加该注释是因为该方法需要在 test 方法前运行。

@After:如果你将外部资源在 Before 方法中分配,那么你需要在测试运行后释放他们。在 public void 方法加该注释是因为该方法需要在 test 方法后运行。

@BeforeClass:在 public void 方法加该注释是因为该方法需要在类中所有方法前运行。

@AfterClass:它将会使方法在所有测试结束后执行。这个可以用来进行清理活动。

@Ignore:这个注释是用来忽略有关不需要执行的测试的。

注解的加载过程

beforeClass(): 方法首先执行,并且只执行一次。

afterClass():方法最后执行,并且只执行一次。

before():方法针对每一个测试用例执行,但是是在执行测试用例之前。

after():方法针对每一个测试用例执行,但是是在执行测试用例之后。

在 before() 方法和 after() 方法之间,执行每一个测试用例。

Junit 单元测试以及断言相关推荐

  1. junit单元测试断言_简而言之,JUnit:单元测试断言

    junit单元测试断言 简而言之,本章涵盖了各种单元测试声明技术. 它详细说明了内置机制, Hamcrest匹配器和AssertJ断言的优缺点 . 正在进行的示例扩大了主题,并说明了如何创建和使用自定 ...

  2. Junit单元测试需要知道的一些知识点

    Junit单元测试框架-基于java语言对的主流单元测试框架 @beforeClass-位于数据准备前期或者其他前期准备(测试类调用前) --用于提取代码中的共用部分减少冗余,只能声明注解一次 --必 ...

  3. JUnit的各种断言

    JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言.下面我们来介绍一下JUnit的各种断言. 断言是编写测试用例的核心实现方式 ...

  4. 七、Web服务器——Junit单元测试 反射 注解学习笔记

    今日内容 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类:1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值.2. 白盒测试:需要写代码的.关注程 ...

  5. junit单元测试,反射,注解

    今日内容 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类:1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值.2. 白盒测试:需要写代码的.关注程 ...

  6. Java中junit单元测试

    在junit单元测试中有一个Test注解,该注解下的方法相当于main方法一样,可以直接运行,而且在一个类中可以写多个Test注解,方便于对代码的测试,对于该测试方法,如果执行成功,则会有绿色对勾的提 ...

  7. Junit单元测试/反射/注解

    Junit单元测试: 测试分类: 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 白盒测试:需要写代码的.关注程序具体的执行流程. Junit使用:白盒测试 步骤: 定义一个测试类(测 ...

  8. java day25【Junit单元测试 、反射 、 注解】

    第一章  Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测 ...

  9. 黑马就业班(01.JavaSE Java语言基础-11.Java基础加强)——基础加强:Junit单元测试、反射、注解

       1.Junit单元测试 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. Junit使用:白盒测试 步骤: ...

  10. 超详细的JUnit单元测试介绍

    前言 本文为JUnit单元测试相关知识,下边将对JUnit单元测试概念,JUnit优点,JUnit安装与使用,JUnit运行流程与常用注解,JUnit测试套件使用及参数化设置,JUnit断言等进行详尽 ...

最新文章

  1. javascript实战pdf_《TypeScript开发实战》总结
  2. 第03课:Anaconda 与 Jupyter Notebook
  3. Rancher 2.0 里程碑版本:支持添加自定义节点!
  4. 并联串联混合的电压和电流_串、并联电路中的电流与电压规律
  5. boost::hana::basic_tuple用法的测试程序
  6. RedisManager使用手册(二) -- 配置文件详解
  7. 表面招助理实为“拉皮条”?招聘平台也有情色陷阱,BOSS直聘回应...
  8. 【java学习之路】(java SE篇)007.常用类
  9. NHibernate查询语言(HQL)
  10. 爬取qq音乐,js加密sign值无效,包含思路,遇到的各种问题要点
  11. Excel 数据透视表小技巧之 05 如何计算重复项,一个包含重复的邮政编码列表,需要每个邮政编码有多少个实例(教程含数据)
  12. Odoo报表的report标签和报表格式定义
  13. 全球经典设计风格之孟菲斯设计
  14. 电场刺激响应性和AIE水凝胶/调控发射波长及亮度AIE微球/AIE糖肽聚合物的研究
  15. SAP中质检判定UD配置原理
  16. 3d打印模型松松夸夸不符合切片软件设置
  17. AVX-512指令_mm512_shuffle_epi8分析
  18. 通过putty取linux文件,putty对Linux上传下载文件或文件夹
  19. Python报错:TypeError: Cannot interpret ‘1‘ as a data type
  20. 数学学习笔记(二)柯西-黎曼方程理解

热门文章

  1. C#实现Zip文件解压
  2. 爬虫-网易云音乐视频下载链接
  3. 2019最新易桥(HttpPrinter) web打印控件完整版版|HttpPrinter web打印控件下载
  4. 数学建模matlab案例,数学建模案例matlab实用程序百例
  5. 游戏框架设计【各大管理系统篇】
  6. 2021年第十二届蓝桥杯省赛真题 (C/C++ 大学B组)
  7. InVEST实践与进阶及在生态系统服务供需、固碳、城市热岛、论文写作
  8. html5视频全屏背景插件(支持全屏背景,标签实现)
  9. sin查找表 matlab,FPGA利用查找表实现sin正弦函数
  10. 2019年win10最精简版本——win10企业2019长期服务版本下载和激活密钥