简介

pytest测试框架可以让我们很方便的编写测试用例,这些用例写起来虽然简单,但仍然可以规模化以及编写更加复杂的测试用例。

官方文档

安装

pip install -U pytest

用下面的命令去检查一下pytest是否成功安装

$ pytest --version
This is pytest version 3.x.y, imported from $PYTHON_PREFIX/lib/python3.5/site-packages/pytest.py

快速开始

创建名为test_quick_start.py的文件,敲如下内容

def reverse(string):
    return string[::-1]

def test_reverse():
    string = "good"
    assert reverse(string) == "doog"

    another_string = "itest"
    assert reverse(another_string) == "tseti"

上面的代码做了2件事情

  • 定义了名为reverse(string)的全局函数,作用是把string反转并返回。比如输入”abc”会反转成”cba”
  • 定义了名为test_reverse()的函数,包含了2个断言,用来测试reverse()方法的正确性

在命令行中使用下面的命令去运行用例

pytest

结果应该大致如下

========================================================================= test session starts =========================================================================
platform darwin -- Python 2.7.12, pytest-3.2.3, py-1.4.34, pluggy-0.4.0
rootdir: /Users/easonhan/code/testclass.net/src/pytest, inifile:
collected 1 item

test_quick_start.py .

====================================================================== 1 passed in 0.01 seconds =======================================================================

总结

这是最简单的单元测试实例,实现了用代码去测试代码的目的。