跳转到主要内容

pytest插件,允许从文件中(取消)选择测试。

项目描述

PyPI pyversions PyPI license PyPI version CircleCI build Codecov result

这是一个pytest插件,允许从文件中按名称(取消)选择测试。

安装

建议从PyPI安装此软件包

pip install pytest-select

用法

此插件为pytest添加了新的命令行选项

  • --select-from-file

  • --deselect-from-file

  • --select-fail-on-missing

前两个都期望一个参数,该参数解析为包含每行一个测试名称的UTF-8编码文本文件。

第三个在(取消)选择的测试名称缺失于要执行的测试中时更改行为。默认情况下会发出警告,并按正常方式执行剩余选定的测试。使用--select-fail-on-missing标志可以将此行为更改为在这种情况下终止执行。

期望的测试名称格式与pytest --collect-only --quiet的输出格式相同。

接受纯测试名称或完整的节点ID(例如,test_file.py::test_name)。

示例

$~ cat selection.txt
test_something
test_parametrized[1]
tests/test_foo.py::test_other

$~ pytest --select-from-file selection.txt
$~ pytest --deselect-from-file selection.txt

开发

此软件包使用Poetry。要设置开发环境,请安装Poetry,然后运行

poetry install

问题

为什么不使用pytest的内置-k选项

-k 选择机制(目前)无法处理选择多个参数化测试,而且由于它匹配的不仅仅是测试名称,所以也相对脆弱。此外,根据测试的数量,在命令行上给出测试名称可能会导致命令长度超出最大限制。

这有什么用?

作者使用此插件在 Circle CI分割测试

示例

pytest --collect-only --quiet | \
    grep '::' | \
    circleci tests split --split-by=timings --timings-type=testname > selected.txt
pytest --select-from-file selected.txt

版本历史

  • v0.1.2 - 2019-01-18:
    • 添加了信息性 pytest 标题报告输出

  • v0.1.1 - 2018-12-10:
    • 添加了 --select-fail-on-missing 选项

    • 添加了基本的变异测试

  • v0.1.0post0 - 2018-12-08:
    • 修复了 README

  • v0.1.0 - 2018-12-08:
    • 初始发布

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

pytest-select-0.1.2.tar.gz (4.3 kB 查看哈希值)

上传时间

构建分布

pytest_select-0.1.2-py3-none-any.whl (7.5 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面