白盒测试
- 由开发人员来测试,又称结构测试,透明盒测试,逻辑驱动测试或基于代码的测试
- 它是按照程序内部的结构来测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常执行,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据
- 也就是代码测试,和主方法(main)效果一样.如果使用主方法测试,一个类就要一个主方法,而且类中方法多了以后测起来就很混乱,所以使用测试类,一个方法对应一个测试方法,使用Junit插件测试类可以自动生成,大大的提高了测试效率
- Junit插件看起来很复杂的样子,感觉一个主方法可以解决的问题干嘛要这么麻烦,但是你用用就会爱上它的,特别是一个类中方法多的时候,用主方法测要测到你怀疑人生
Junit4依赖安装
- Junit版本选择,Junit目前常见的3个版本(其他的我也不知道还有没有,可能被淘汰了):
Junit3.x : 针对Java5之前的版本,Android中使用,不推荐
Junit4.x : 针对Java5以及之后的版本,使用注解,推荐使用
Junit5.x : 针对Java8以及以后的版本,太新了,感觉不如Junit4好用 - Junit插件一般IDEA是自带的,如果没有可以在工具中下载 安装: File --> Settings --> Plugins --> 搜索Junit
手写测试类
测试类可手写可自动生成,我先说说手写,捋一下执行思路,不然第一次使用Junit直接自动生成会感觉太突兀,没有头绪,就又变成知其然而不知其所以然了
手写测试类流程:
- 创建项目下的test根目录,也就是测试类存在的文件夹
- 将test文件夹设置成测试类专用文件夹,IDEA中测试文件夹是绿色的,你懂得😁
- 创建测试类的包名,包名好像没有什么特殊要求,自动生成时是和被测试的包名相同
- 测试类命名就有规定了,比如要被测试的类是Student,那么测试类就必须是StudentTest,也就是类名加Test,模板:XxxTest
- 类中写测试方法,有几个方法要测就写多少个测试方法,方法名:testXxx,比如说Student类中有see()方法,那测试类中的测试方法就是testSee()
- 测试方法要求: 必须有@Test标签,必须是公共的,无返回类型的,无参数的
- 手写的Junit插件没有导入项目,所以@Test标签是红色的,需要选中@Test按 Alt + 回车,导入包
- 测试方法中的测试代码和主方法中写法一样,该怎么写还怎么写
- 测试时点击该测试方法左边的绿色三角形就能测试该方法了
自动生成测试类
自动生成就体现开发工具的强大了,一键生成.
- 创建测试类文件夹,跟前面手动的一样
- 选中要测试的类,按Alt + 回车
- 选中Create Test选项,确定
- 选择ok,会出现以下弹窗
- 选好之后点ok,就把该类中要测试的方法在测试类中自动生成了.