pytest插件,用于按特定顺序运行测试
项目描述
pytest-order - 一个pytest插件,用于排序测试执行
pytest-order
是一个 pytest 插件,允许您自定义测试运行的顺序。它使用 order
标记来定义特定测试何时运行,可以通过使用序号或指定与其他测试的关系来实现。
pytest-order
是 pytest-ordering 的一个分支,提供了诸如相对于其他测试进行排序等额外功能。
pytest-order
与 Python 3.7 - 3.12 兼容,对于所有 Python 3.9 以下版本,需要 pytest 版本 >= 5.0.0,对于 Python >= 3.10,需要 pytest >= 6.2.4。 pytest-order
在 Linux、macOS 和 Windows 上运行。
文档
除了概述之外,以下信息也是可用的
- 最新版本的使用文档
- 当前主分支的使用文档
- 文档中展示的大部分示例也可以在 存储库 中找到
- 发行说明,其中列出了最新版本中的更改
- 原始项目中未解决的问题列表 以及在
pytest-order
中的处理方式
功能
pytest-order
提供以下功能
- 通过索引 对测试进行排序
- 从开始和结束(通过负索引)对测试进行排序
- 通过
before
和after
标记属性,相对其他测试 进行排序 - 通过 order-scope 选项实现会话、模块和类作用域的排序
- 通过 order-scope-level 选项实现目录作用域的排序
- 通过 order-group-scope 选项实现分层模块和类级别的排序
- 如果使用 order-dependencies 选项,则可以使用
pytest-dependency
标记对测试进行排序,有关pytest-dependency
兼容性的更多信息 这里 - 通过 sparse-ordering 选项进行稀疏排序测试
- 使用 order-marker-prefix 选项自定义标记进行排序
概述
(改编自原始项目)
你是否曾想过轻松地运行你的某个测试,在运行任何其他测试之前?或者运行一些最后的测试?或者在这个测试之前运行那个测试?或者确保这个测试组在另一个测试组之后运行?
现在你可以做到了。
使用以下命令安装
pip install pytest-order
这定义了你可以使用不同属性在你的代码中使用 order
标记。
例如,以下代码
import pytest
@pytest.mark.order(2)
def test_foo():
assert True
@pytest.mark.order(1)
def test_bar():
assert True
产生以下输出
$ pytest test_foo.py -vv
============================= test session starts ==============================
platform darwin -- Python 3.7.1, pytest-5.4.3, py-1.8.1, pluggy-0.13.1 -- env/bin/python
plugins: order
collected 2 items
test_foo.py:7: test_bar PASSED
test_foo.py:3: test_foo PASSED
=========================== 2 passed in 0.01 seconds ===========================
贡献
欢迎贡献。可以使用 tox 运行测试,请在提交拉取请求之前确保覆盖率至少保持不变。
许可证
在 MIT 许可证的条款下分发,pytest-order
是免费和开源软件。
历史
这是对 pytest-ordering 的分支。该项目不再维护,其中一些有用的 Pull Request 现已集成到 pytest-order
中。该想法和大部分初始代码由该插件的作者 Frank Tobia 创建,以及 贡献者。
尽管来源于 pytest_ordering
,但由于标记名称已更改(使用 order
而不是 run
),pytest-order
并不与 pytest-ordering
兼容。在 pytest_ordering
中定义的所有额外标记都已集成到 order
标记中(有关理由,请参阅 此问题)。
相对于其他测试和所有配置选项的排序功能在已发布的 pytest-ordering
版本中不可用。然而,这些功能中的大部分都源自或受到 issues 和 pull requests 的影响,这些 issues 和 pull requests 已存在于 pytest-ordering
中。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建分发
pytest_order-1.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51608fec3d3ee9c0adaea94daa124a5c4c1d2bb99b00269f098f414307f23dde |
|
MD5 | f929658fd82b61ff37fb4e43221b0e68 |
|
BLAKE2b-256 | 1d6602ae17461b14a52ce5a29ae2900156b9110d1de34721ccc16ccd79419876 |
pytest_order-1.3.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2cd562a21380345dd8d5774aa5fd38b7849b6ee7397ca5f6999bbe6e89f07f6e |
|
MD5 | 7fb73d8000fbc20535ab90823e230b24 |
|
BLAKE2b-256 | 1b7359b038d1aafca89f8e9936eaa8ffa6bb6138d00459d13a32ce070be4f280 |