📜  pytest - Python (1)

📅  最后修改于: 2023-12-03 14:45:52.925000             🧑  作者: Mango

Pytest - Python 测试框架

Pytest是Python中流行的单元测试框架之一,它通过自动化测试和简单的语法使得测试变得更加容易。Pytest和其他测试框架相比,它的缺陷更少,易于阅读和编写测试。

安装

在Python环境下,通过pip可以安装最新版本的pytest:

pip install pytest
示例

以下是一个简单的示例代码:

# test_sample.py

def func(x):
    return x + 1

def test_answer():
    assert func(3) == 4

我们可以通过下列命令轻松地执行该测试:

pytest

输出结果如下:

============================= test session starts ==============================
platform linux -- Python 3.8.5, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
rootdir: /home/user/project
collected 1 item

test_sample.py .                                                         [100%]

============================== 1 passed in 0.01s ===============================

此时可以看到,测试顺利通过,也就是说我们的func函数确实符合预期。

API
assert

pytest使用assert关键字和预期结果进行比较,如果比较结果是真值,则测试通过:

def test_answer():
    assert func(3) == 4
配置文件

为了更好地定制测试,我们可以使用配置文件。

pytest.ini

内容如下:

[pytest]
addopts = -rsxX -l
log_cli = 1
log_cli_level = INFO

其中,addopts为pytest命令行选项,log_cli为控制台日志的开关,在这个配置文件中,我们定义了当测试错误,并且跑完所有测试之后,显示本次测试中的各类统计情况。

结论

Pytest易于学习,而且对应用的持续集成和自动化测试非常有帮助。如果你正在写Python代码并且需要简单且易于维护的测试框架,那么Pytest就是最好的选择之一。