掌握目标:

  1. 单元测试是什么?
  2. 为什么要写单元测试?
  3. 应该怎么写单元测试?

1 单元测试是什么?

单元测试是对软件中的最小可测试单元进行检查和验证。

2 为什么要写单元测试?

单元测试的理念是将程序模块化,一个模块一个模块的进行检查,它们本身使用计算机来执行测试,而不是手动测试或调试,这样自动化的测试不仅节约了时间和成本,而且降低了错误率。

3 应该怎么写单元测试?

在写单元测试的时候,一般会针对每一个方面的功能单独写一个测试,把这些测试封装到一个继承自unittest.TestCase 的类中。

单元测试代码一般是和生产代码分开的,保存在独立的目录中,使用的时候导入到待测试的代码使用。

继承自 unittest.TestCase 的类的函数的书写有一定的规范:

  1. 使用 setup()函数开始单元测试,tearDown()函数来结束单元测试;
  2. 所有以 test_开头的函数都会被当做单元测试执行,其余的函数都会被忽略(除setup()和 tearDown()以外);
  3. 编写不同类型的断言语句来让程序测试成功或者失败;

一般来说,编写的单元测试要求能够覆盖常用的输入组合、异常、边界条件。

在单元测试中,常用的断言有以下几种:

  • assertEqual(self,[assert 1],[assert 2])
  • assertTrue([bool])
  • assertRaises([exception])