Logo
Section 1 / 3

哲学

了解 Python 测试的哲学。

导入

哲学

了解 Python 测试的哲学。

测试框架的优势

使用合适的测试框架具有诸多优势,包括:

  • 代码更有可能正确无误。
  • 代码编写通常花费的时间更少,因为调试时间被显著减少。
  • 为可测试性而编写的函数往往更小且职责单一。
  • 为可测试性而编写的函数能够清晰地分离计算逻辑与输入输出操作。
  • 拥有测试套件后,日后修改代码会更加容易且安全。

一个优秀的测试框架能让程序员快速运行测试,通常只需一键点击即可完成,并能一眼看出是否存在错误。如果测试需要超过这种简便操作,则很可能很少被执行,甚至完全不执行,从而失去其应有的价值。

如何编写可测试的代码

为了编写可测试的代码,需注意以下几点:

  • 编写大量小型函数,每个函数只完成一项任务,而不是少数几个功能繁杂的大函数。
  • 在编写代码的同时编写测试,而不是事后补上测试。许多专家甚至建议在编写代码之前先编写测试,因为这有助于明确代码应实现的功能。

    对于已存在的或遗留的代码,编写测试可能非常困难甚至不可能。

  • 尽量减少全局变量的使用,如果可能,应完全避免。仅依赖参数值的函数更容易独立进行测试。
  • 严格区分执行计算的函数与执行输入输出的函数,测试时只需关注前者。

    涉及输入输出的函数需要人工干预,因此会阻碍一键式测试的实现。虽然存在测试这类函数的技术,但这些属于高级技巧,本文不予讨论。

变得花哨

单元测试