設定 py.test

py.test 是可用於 Python 的幾個第三方測試庫之一。它可以使用安裝 pip

pip install pytest

要測試的程式碼

假設我們正在測試 projectroot/module/code.py 中的新增功能:

# projectroot/module/code.py
def add(a, b):
    return a + b

測試程式碼

我們在 projectroot/tests/test_code.py 中建立了一個測試檔案。該檔案必須以 test_ 開頭才能被識別為測試檔案。

# projectroot/tests/test_code.py
from module import code

def test_add():
    assert code.add(1, 2) == 3

執行測試

projectroot 我們只需執行 py.test

# ensure we have the modules
$ touch tests/__init__.py
$ touch module/__init__.py
$ py.test
================================================== test session starts ===================================================
platform darwin -- Python 2.7.10, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /projectroot, inifile:
collected 1 items

tests/test_code.py .

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