三丰 soft张三丰
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如c语言中单元指一个函数,java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
在一种传统的结构化编程语言中,比如c,要进行测试的单元一般是函数或子过程。在像c++这样的面向对象的语言中, 要进行测试的基本单元是类。对ada语言来说,开发人员可以选择是在独立的过程和函数,还是在ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4gl)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
经常与单元测试联系起来的另外一些开发活动包括代码走读(code review),静态分析(static analysis)和动态分析(dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
hamcrest是用于java的单元测试的框架,它使用matcher匹配器来进行断言。在spring-boot-starter中集成了hamcrest,无需而外引入。
1.is
使用is匹配器使得程序更加易懂
用于简单数据类型的判断
2.not
和is使用方式一样,只是含义相反。
使用not匹配器使得程序更加易懂
3.containsstring
是否包含子串
4.以为某个字段开头/结尾
5.判断两个对象是否为同一个实体
6.类似or的效果
7.类似and的效果
1.匹配空串
2.匹配字符串相等
1.检查某个元素是否在集合中
2.检查所有元素
3.为空检查
集合为空检查
数组为空检查
map为空检查
iterable为空检查
4.检查数目
检查集合数目
5.检查iterable数目
5.检查每项的条件
定义一个city的bean
1.测试是否存在某个属性
2.判断两个对象property值是否一样
junit 5 对 java 运行环境的最低要求是 java 8。
intellij idea支持自2016.2之后支持junit5。
推荐使用idea 2017.3或之后的版本。
各idea版本和支持的junit5版本对照:
junit5常用注解:
junit 5 提供了三种不同的方式来执行测试用例,分别是通过 gradle 插件、maven 插件和命令行来运行。