一、测试分类
测试大体分为两类:即黑盒测试与白盒测试
-
黑盒测试:不清楚程序内部实现,也无需写代码,只需要给出测试的输入值,看程序是否能够输出期望的值
-
白盒测试:清楚程序内部实现,需要写代码来测试程序,并且关注程序具体的执行流程
Junit就是白盒测试的一种
二、Junit
1.使用main方法测试的不足之处
本人在入门java阶段,十分喜欢使用main方法作为测试方法,但是main方法相较于Junit存在几个不足之处
- 需要注释掉上一测试阶段的代码,以免对后续测试产生影响
- 一个类最多只能有一个main方法,无法分开测试多个方法
2.Junit使用的步骤
-
定义一个测试类(测试用例)
建议:
- 测试类名:被测试的类名 + Test,比如:CalculatorTest
- 包名:xxx.xxx.xx.test,比如:com.myw.项目名.test
-
定义测试方法:每一个测试方法都可以独立运行
- 建议:
- 方法名:test + 测试的方法名,比如:testAdd()
- 返回值:void
- 参数列表:空参(独立运行,不调用,无需参数)
- 建议:
-
给方法加注解:@Test
-
导入Junit的依赖环境(不然@Test会报错):Add ‘junit4’ to classpath
导入方法:
导入成功显示界面:
-
成功之后开始测试:
-
创建对象
-
测试方法
-
断言,与预计结果对比,看是否符合预期
-
测试开始(点击的左侧的绿色箭头,大绿色箭头是所有测试方法一起运行,小绿色箭头是运行单个测试方法)
-
测试成功
-
注: Junit版本太老会报错,建议使用junit4.9以上版本
三、补充
-
@Before:
修饰的方法会在测试方法执行前自动执行
-
@After
修饰的方法会在测试方法执行后自动执行