PyTest Plus 插件 :: 扩展pytest功能
项目描述
PyTest Plus 插件 :: 扩展pytest功能
此插件旨在用于托管多个满足以下标准的基本pytest扩展
- 优雅降级,即如果插件被删除,您仍然可以运行pytest
PYTEST_REQPASS
如果您定义环境变量 PYTEST_REQPASS=123
,并且在测试结束时通过测试的数量不是正好123,pytest将返回退出代码1。
此功能针对CI使用,旨在防止意外跳过某些测试。我们期望用户在自己的CI作业定义中定义此变量。执行测试的数量可能取决于CI作业。
我们不建议在tox.ini
等地方定义此变量,因为当开发者运行测试时,他们可能最终会运行不同数量的测试。此外,如果您试图提及特定的测试,此功能也没有意义。
避免重复的测试函数名称
虽然pytest允许用户在不同文件中拥有相同的测试函数名称,但这使得识别和复制/粘贴测试名称以在本地重现失败变得困难。这就是为什么此插件强制其用户在测试项目中的任何地方都避免有相同的函数名称。
您可以通过定义 PYTEST_CHECK_TEST_DUPLICATE=0
来禁用此检查。
避免有问题的测试标识符
当此插件遇到过长或包含不安全字符的测试标识符时,将引发错误。虽然pytest在允许广泛的测试标识符方面非常灵活,但使用这些标识符确实会使开发更加困难,因为它阻止人们将失败的测试复制粘贴到终端中,以在本地重现失败的测试。
您可以通过定义 PYTEST_CHECK_TEST_ID_REGEX=0
来禁用正则表达式检查。
您可以通过定义 PYTEST_MAX_TEST_ID_LENGTH=0
来禁用长度检查。
为CI收集pytest日志文件做准备
由于pytest日志文件是在临时目录中创建的,一些CI系统拒绝从当前项目外收集文件,因此我们将其复制到 $VIRTUAL_ENV/log
中,与tox本身使用的目录相同。要在Github Actions中收集日志,您只需要一个类似以下步骤:
- name: Archive logs
uses: actions/upload-artifact@v4
with:
name: logs-${{ matrix.name }}.zip
path: .tox/**/log/
发布流程
发布由GitHub Releases页面触发。
链接
项目详情
下载文件
下载适用于您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。