掌握目标:
- 单元测试是什么?
- 为什么要写单元测试?
- 应该怎么写单元测试?
1 单元测试是什么?
单元测试是对软件中的最小可测试单元进行检查和验证。
2 为什么要写单元测试?
单元测试的理念是将程序模块化,一个模块一个模块的进行检查,它们本身使用计算机来执行测试,而不是手动测试或调试,这样自动化的测试不仅节约了时间和成本,而且降低了错误率。
3 应该怎么写单元测试?
在写单元测试的时候,一般会针对每一个方面的功能单独写一个测试,把这些测试封装到一个继承自unittest.TestCase 的类中。
单元测试代码一般是和生产代码分开的,保存在独立的目录中,使用的时候导入到待测试的代码使用。
继承自 unittest.TestCase 的类的函数的书写有一定的规范:
- 使用 setup()函数开始单元测试,tearDown()函数来结束单元测试;
- 所有以 test_开头的函数都会被当做单元测试执行,其余的函数都会被忽略(除setup()和 tearDown()以外);
- 编写不同类型的断言语句来让程序测试成功或者失败;
一般来说,编写的单元测试要求能够覆盖常用的输入组合、异常、边界条件。
在单元测试中,常用的断言有以下几种:
- assertEqual(self,[assert 1],[assert 2])
- assertTrue([bool])
- assertRaises([exception])