Python学习之旅 读书笔记系列
Day 9
《Python编程从入门到实践》
第11章 测试代码
知识点
- Python模块unittest
- 测试有3类:
- 单元测试:核实函数某个方面
- 测试用例:一组单元测试
- 全覆盖测试:一整套单元测试
- 测试步骤:
- 先导入模块 unittest : import unittest
- 创建一个继承unittest.TestCase的类:class 测试名(unittest.TestCase)
- 测试名中最好表达要测试的函数,并包含test字样(易读)
- 类里面,所有Test开头的都会自动运行
- 定义方法调用要测试的函数 def 方法名(self) 变量=测试函数(‘实参1’,‘实参2’)
- 验证结果 self.assertEqual(方法名,‘预期正确的结果’)
- 运行 unittest.main()
- 测试结果:Ran 1 test in 0.000s(1为数量)
- 通过 OK
- 不通过 FAILED(errors=1) 1为有问题的数量
- 测试类:
- 6种断言方法:
- assertEqual(a,b) 核实 a==b
- assertNotEqual(a,b) 核实a!=b
- assertTrue(x) 核实x为True
- assetFalse(x) 核实x为False
- assertIn(item,list) 核实item在list中
- assertNotIn(item,list) 核实item不在list中
- 6种断言方法:
- unittest.TestCase类包含方法setup()
- 只需要创建对象一次,并在每个测试方法中使用它们
- 方法setup()做两件事情:
- 创建1个调查对象
- 创建1个答案列表
- 以上两个结果存储在变量的属性中
其他
- 注意事项
- 共享代码之前,必须证明代码有通过既有测试
- 项目早期不要试图编写全覆盖测试
- 感受
- 测试部分第一次真正接触,以前写VBA测试都是一行行试运行,没想到有专门的测试工具
- 本章为止,算是把第一部分基础知识看完,接下来到第二部分(项目),会有更多的演练
- 在启动第二部分之前,还要多利用时间复习一遍,做一次复盘