Python单元测试

什么是单元测试

单元测试是用来对最小可测试单元(如一个函数、一个类或者一个模块)进行检查和验证。尤其是在对代码进行修改或重构后,可以快速准确的定位出现问题的问题。

为什么要做单元测试

写代码的首要目标就是实现需求。在此基础上,就要尽可能提高代码的质量和可维护性。而单元测试,就是提高代码质量和可维护性的一种方式,也是成本最低的一种方式。因为尽早排除尽可能过的bug,可以减少在后续阶段解决bug的成本(包括时间成本、人力成本等)。

单元测试的基本原则

  • 单元测试代码要非常简单,如果测试代码过于复杂,则测试代码本身也可能存在bug
  • 通过单元测试,并不意味着所测代码没有bug

Python单元测试框架

  • Unittest:Python标准库自带的单元测试工具,也称为PyUnit,是JUnit(Java语言的单元测试)的Python版本。
    Python单元测试 – Unittest(一)
    Python单元测试 – Unittest(二)
  • Doctest:Python标准库自带的单元测试工具,适合简单的单元测试。其工作原理是在docstring中寻找测试用例并执行,比较输出结果与期望值是否符合。
  • Pytest:Python的一种单元测试框架,与Unittest测试框架类似。其特点是拥有众多高级功能和插件。
  • Nose:继承自Unittest,但比Unittest易用,而且能够自动识别测试用例。任何符合正则表达式“(?:^|[b_.-])[Tt]est”的类、函数、文件或目录,以及TestCase的子类都会被识别并执行。
  • Unittest2:Unittest的升级版。

你可能感兴趣的:(python)