pytest:从代码运行测试,而不是从命令行

python

1个回答

写回答

Asseww

2025-07-10 07:34

+ 关注

Python
Python

使用pytest可以方便地运行和管理我们的测试代码。通常,我们会通过在命令行中输入pytest命令来执行测试。然而,pytest也提供了一种从代码中运行测试的方法,这样我们就可以更加灵活地控制测试的执行过程。

在使用pytest从代码运行测试之前,我们首先需要安装pytest库。可以使用pip工具来进行安装,命令如下:

Python

pip install pytest

安装完成后,我们可以开始编写测试代码,并使用pytest来执行这些测试。

1. 编写测试代码

我们首先创建一个test_calc.py文件,用于编写我们的测试代码。在这个文件中,我们可以定义一个或多个测试函数,用于测试我们自己编写的代码的功能是否正常。

Python

# test_calc.py

def add(x, y):

return x + y

def test_add():

assert add(2, 3) == 5

def test_add_negative_numbers():

assert add(-2, -3) == -5

在上面的例子中,我们定义了一个add函数,用于实现两个数的加法运算。然后,我们使用pytest提供的装饰器@test来标记我们的测试函数。在测试函数中,我们使用assert语句来断言测试的结果是否符合预期。

2. 从代码中运行测试

接下来,我们可以使用pytest提供的mAIn函数来从代码中执行我们的测试。

Python

# run_tests.py

import pytest

if __name__ == "__mAIn__":

pytest.mAIn(["-s", "test_calc.py"])

在上面的例子中,我们导入了pytest库,并使用pytest.mAIn函数来执行我们的测试文件test_calc.py。参数"-s"用于打印测试的详细信息。如果我们不加这个参数,pytest会在运行测试时只输出测试结果,而不显示每个测试函数的具体执行过程。

3. 执行测试并查看结果

现在,我们可以在命令行中运行run_tests.py文件,来执行我们的测试代码。

bash

Python run_tests.py

执行完毕后,我们可以看到测试的结果输出,以及每个测试函数的执行过程。如果测试通过,那么我们会看到输出中没有任何错误信息。如果测试未通过,那么我们会看到相应的错误信息,帮助我们找到问题所在。

4.

通过使用pytest从代码中运行测试,我们可以更加灵活地控制测试的执行过程。这种方法非常适用于在开发过程中进行快速的单元测试和集成测试。同时,由于pytest提供了丰富的插件和扩展功能,我们还可以根据自己的需要来定制测试的执行流程和结果展示方式。

无论是从命令行中执行测试,还是从代码中运行测试,pytest都是一个非常强大和灵活的测试框架,可以帮助我们编写高质量的测试代码,确保我们的程序正常运行。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号