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

pytest-select的Python项目详细描述


PyPI pyversionsPyPI licensePyPI versionCircleCI buildCodecov result

这是一个pytest插件,允许从从从文件加载的列表中按名称(de-)选择测试。

安装

建议从pypi安装此软件包:

pip install pytest-select

用法

此插件向pytest添加新的命令行选项:

  • --select-from-file
  • --deselect-from-file
  • --select-fail-on-missing

前两个都需要一个参数,该参数解析为包含每个 行。

第三种方法在要执行的测试中缺少(取消)选定的测试名称时更改行为。 默认情况下会发出警告,其余选定的测试将正常执行。 在这种情况下,通过使用--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 CIsplit tests across workers

示例:

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:
    • 修复自述文件
  • v0.1.0-2018-12-08:
    • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何用java表示这个数学函数的算法   Java/Stream帮助:仅使用streams将嵌套的映射列表转换为映射   使用Selenium连接到数据库时发生java未知主机异常   java如何了解jvm内存使用:“堆内存”和“堆外内存”   java Oracle BI报告导入模板   java如何使用Spring将xml转换为bean?   java线程。join()以保证执行顺序   java从THINGSPEAK到ANDROID应用程序获取JSON数据   使用Java的stanford库中的异常   java正确使用来自其他类文件的方法   如果集合中的元素类型为接口类型,如何填充集合?(爪哇)   记录java。util。记录器创建的文件超过了应有的数量   类Java对象uniq值   尝试调用无法应用于()的方法时出现java错误