一个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中为json对象签名?   是否可以通过java程序知道给定卡夫卡消费群体的消费偏移量?   打印字符时出现java未知问号   java为JFrame设置背景色   在ubuntu中检查java版本时linux权限被拒绝   如何用java创建xml模式   java无法在远程服务器上运行Vaadin应用程序   java智能垃圾收集?   java如何在SpringMVC中设置缓存头?   在unix计算机上运行java应用程序a:>签名以输入内容   Java、Apache Commons配置XML属性   使用ArrayList调用Java未经检查的方法   在文本文件中查找并替换单词(Java GUI)   java Android Studio无法检测到JDK7或更新版本   java从socket的有效负载获取事件消息   安卓中java调用子类方法   java如何通过点击超链接来运行jar文件(Firefox)