目录
关于pytest
pytest是一个成熟的全功能Python测试工具,可以帮助您编写更好的程序。
pytest框架可以很容易地编写小型、可读的测试,并且可以扩展以支持应用程序和库的复杂功能测试。
pytest要求:Python 3.8+或PyPy3。
PyPI包名称:pytest
一个简单的例子
# test_sample.py的内容
def 公司(x):
返回 x + 1
def test_answer():
断言 公司(3) == 5
执行之后:
$ pytest
=========================== test session starts ============================
platform linux -- Python 3.x.y, pytest-8.x.y, pluggy-1.x.y
rootdir: /home/sweet/project
collected 1 item
test_sample.py F [100%]
================================= FAILURES =================================
_______________________________ test_answer ________________________________
def test_answer():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)
test_sample.py:6: AssertionError
========================= short test summary info ==========================
FAILED test_sample.py::test_answer - assert 4 == 5
============================ 1 failed in 0.12s =============================
由于pytest具有详细的断言自省功能,因此只使用普通的断言语句。有关使用pytest的基本介绍,参阅门介绍。
特性
- assert statements 对失败的断言语句提供详细信息(无需记住 self.assert* 的名称)
-
Auto-discovery 自动发现测试模块和功能
-
Modular fixtures 用于管理小型或参数化的长期测试资源
-
可以开箱即用地运行 unittest(包括试用)测试套件 -
Python 3.8+或PyPy 3
-
丰富的插件架构,超过1300+外部插件 external plugins和繁荣的社区