1. 定义:
单元测试是指对一个模块、一个函数或者一个类进行正确性检验的测试工作
2.单元测试
3. 单元测试用例
单元测试的用例是一个“输入数据”和“预计输出”的集合,根据输入,及逻辑功能推断预计的输出,并且执行被测试的代码进行校验
比如对函数abs()
的测试用例
1. 输入正数如:1、3、0.99、返回值与输入值相同
2. 输入负数如:-1、-0.99、-3返回值与输入相反
3. 输入0,返回0
4. 输入非数值类型,如:None、null、空,{}\[]等,返回类型错误TypeError
4.驱动代码、桩代码和Mock代码
- 驱动代码:调用被测试函数
- 桩代码:用来代替真正代码的临时代码,若函数A实现内部调用了函数B,但是函数B尚未实现,则模拟实现一个函数B,即桩代码
- Mock代码和桩代码的区别
- Mock的关注是否被调用,被调用的次数、以及多个Mock函数的先后调用顺序,在使用Mock代码的测试中,对于结果的验证,通常出现在Mock函数中
- 桩代码的关注是利用其来控制被测试函数的执行路径,在使用Stub的测试中,对于结果的验证,通常出现在驱动代码中。
5. 如何开展单元测试
- 确定单元测试框架的类型
- Java 单元测试框架是Junit和TestNG
- Python 单元测试框架是unittest
- 引入计算代码覆盖率的工具