读书笔记 | Python学习之旅 Day9

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中
  • unittest.TestCase类包含方法setup()
    • 只需要创建对象一次,并在每个测试方法中使用它们
    • 方法setup()做两件事情:
      • 创建1个调查对象
      • 创建1个答案列表
    • 以上两个结果存储在变量的属性中
其他
  • 注意事项
    • 共享代码之前,必须证明代码有通过既有测试
    • 项目早期不要试图编写全覆盖测试
  • 感受
    • 测试部分第一次真正接触,以前写VBA测试都是一行行试运行,没想到有专门的测试工具
    • 本章为止,算是把第一部分基础知识看完,接下来到第二部分(项目),会有更多的演练
    • 在启动第二部分之前,还要多利用时间复习一遍,做一次复盘

你可能感兴趣的:(读书笔记 | Python学习之旅 Day9)