Skip to content

Python执行Pytest

Python 执行 Pytest

简介

pytest 是一个用于编写和执行 Python 测试的强大的测试框架。它提供了丰富的功能和灵活的配置选项,能够轻松地编写各种类型的测试,并自动发现和运行这些测试。

Python 执行 Pytest 的优点

  1. 自动化测试流程:通过使用 Python 脚本来执行 Pytest 测试,可以自动化测试流程,将测试集成到持续集成(CI)系统中。这样,测试可以在每次代码提交后自动运行,确保代码质量。

  2. 批量执行测试:使用 Python 代码,可以轻松批量执行测试套件中的多个测试文件,以提高测试效率。

  3. 自定义测试过程:可以编写自定义脚本来配置测试过程,例如设置测试环境、准备测试数据、处理测试结果等。这样,可以适应特定的测试需求。

  4. 自动化测试报告生成:使用 Python 脚本,可以生成自定义测试报告,包括指标、日志、图表等。这有助于更好地了解测试结果。

  5. 条件测试:通过编写 Python 代码,可以根据测试结果采取不同的行动。例如,如果某个测试失败,可以自动触发回滚数据库或通知相关人员。

  6. 集成其他工具:Python 代码执行测试时可以轻松集成其他工具,例如数据库连接、API 调用、网络操作等。

  7. 测试管理:Python 脚本能够更好地管理测试用例,包括组织、筛选、标记、分组等操作。

  8. 更高级的测试逻辑:通过编写 Python 代码,可以实现更复杂的测试逻辑,例如测试套件的动态生成、参数化测试、自定义 Fixture 等。

Python 执行 Pytest 方式

  • 使用 main 函数。
  • 使用 python -m pytest 调用 pytest(jenkins 持续集成用到)。

Python 代码执行 main 函数

代码示例:

if __name__ == '__main__':
    # 1、运行当前目录下所有符合规则的用例,包括子目录(test_*.py 和 *_test.py)
    pytest.main()
    # 2、运行test_mark1.py::test_dkej模块中的某一条用例
    pytest.main(['test_mark1.py::test_dkej','-vs'])
    # 3、运行某个标签
    pytest.main(['test_mark1.py','-vs','-m','dkej'])

运行方式:

python test_*.py

总结

  • Python 代码执行 Pytest 的优点。
  • Python 执行 Pytest 的方式。