pytest合集(3)— 命令行参数

1、命令行参数大全

语法格式:

pytest [options] [file_or_dir] [file_or_dir] [...]

使用 pytest -h 可以查看 pytest 的命令行参数,有 10 大类共 132 个。 

详见:Python pytest 132 个命令行参数用法 - 习久性成 - 博客园 

2、常见的命令行参数

-h :用于显示pytest的帮助信息,包括所有可用选项和参数的说明。运行pytest -h可以查看完整的帮助文档。

-v :用于在控制台输出详细的测试结果信息,包括测试用例的名称、执行状态(通过、失败、错误、跳过等)、执行时间以及任何与测试用例相关的输出或日志信息。

-q :用于启用"静默模式",在测试运行期间只显示测试结果的简要信息,而不会显示详细的执行过程和额外的输出。这在运行大量测试用例时可以减少冗余信息的显示,使结果更简洁。

-s :用于禁用捕获测试用用例的标准输出和标准错误流。默认情况下,pytest会捕获并隐藏这些输出,只显示测试结果。使用-s参数可以将这些输出显示在控制台上,方便调试和查看打印的信息。

3、[ -k EXPRESSION ]

`-k EXPRESSION` 是 pytest 参数中的一个选项,用于根据表达式匹配并运行测试用例。

当你运行 `pytest -k EXPRESSION` 命令时,pytest 会根据指定的表达式匹配测试用例的名称,并只运行匹配的测试用例。这个功能对于在大型测试套件中选择性地运行特定的测试用例非常有用。你可以使用通配符或正则表达式来构建匹配规则,以便选择性地运行你感兴趣的测试用例。

以下是一些示例:

  • 运行名称中包含特定字符串的测试用例:`pytest -k "substring"`
  • 运行以特定字符串开头的测试用例:`pytest -k "prefix*"`
  • 运行匹配特定正则表达式的测试用例:`pytest -k "/regex/"`

通过使用 `pytest -k EXPRESSION`,你可以根据需要选择性地运行测试用例,而无需运行整个测试套件。

4、[-m MARKEXPR] 

`-m MARKEXPR` 是 pytest 参数中的一个选项,用于运行特定标记(mark)的测试用例。

它接受一个MARKEXPR参数,用于描述要匹配的标记条件。MARKEXPR可以是以下形式之一:

  • "mark1":匹配具有标记"mark1"的测试用例。
  • "mark1 and mark2":匹配同时具有标记"mark1"和"mark2"的测试用例。
  • "mark1 or mark2":匹配具有标记"mark1"或"mark2"的测试用例。
  • "not mark1":匹配不具有标记"mark1"的测试用例。
  • "mark1 and not mark2":匹配具有标记"mark1"但不具有标记"mark2"的测试用例。

通过使用-m参数,可以选择性地运行具有特定标记的测试用例,以便更加灵活地组织和执行测试。这对于只运行特定类型的测试用例或排除某些测试用例非常有用。

5、[--markers]

`--markers` 是 pytest 参数中的一个选项,用于显示 pytest 中标记(markers)的信息。

当你运行 `pytest --markers` 命令时,pytest 会显示内置的标记、插件提供的标记以及项目中定义的标记的信息。这些信息包括标记的名称、标记的描述以及标记的位置(内置、插件或项目)。

标记是一种用于标识测试用例特性或属性的机制。通过使用标记,你可以将测试用例分组、分类或者标记为特定的属性。 

通过查看标记信息,你可以了解项目中可用的标记以及它们的含义,从而更好地组织和管理测试用例。

6、[--tb=style]

`-tb=style` 是 pytest 参数中的一个选项,用于指定错误回溯(traceback)的显示样式。

当你运行 pytest --tb=style 命令时,你可以将 style 替换为不同的样式选项,以指定错误回溯的显示方式。以下是一些常用的样式选项:

  • `auto`:自动选择错误信息的输出格式,默认为这个选项。在终端上运行时,它会选择"short"格式;在非终端环境(如CI/CD工具)中运行时,它会选择"long"格式。
  • `long`:输出详细的错误信息,包括完整的调用栈信息和源代码片段。
  • `short`:输出简洁的错误信息,只包括最重要的信息,如错误类型和位置。
  • `line`:只输出错误的一行摘要信息,不包括调用栈和源代码片段。
  • `native`:类似于"long"格式,但会显示本地调用的源代码。
  • `no`:不输出任何错误信息。

这些样式选项可以帮助你在测试运行期间更清晰地查看和理解错误回溯信息。

7、[-r chars]

`-r chars` 是 pytest 参数中的一个选项,用于指定在控制台输出中显示额外的测试结果信息,默认fE。

当你运行 `pytest -r chars` 命令时,pytest 会将额外的测试结果信息以字符的形式显示在控制台中。这些字符代表了不同类型的测试结果,例如:-ra 会显示passed之外的所有信息。

  -r chars              show extra test summary info as specified by chars: (f)ailed, (E)rror, (s)kipped, (x)failed, (X)passed, (p)assed, (P)assed with output, (a)ll

                        except passed (p/P), or (A)ll. (w)arnings are enabled by default (see --disable-warnings), 'N' can be used to reset the list. (default:
                        'fE').

通过使用 `pytest -r chars`,你可以在测试运行期间更直观地了解每个测试用例的结果,并快速识别出失败、错误或其他的情况。

8、[--capture=method]

`--capture=method` 是 pytest 参数中的一个选项,用于指定测试用例的输出捕获方法。

具体可选的值如下:

  • "fd":使用文件描述符(file descriptor)进行捕获。这是pytest的默认值。它将测试用例的输出重定向到文件中,并在需要时将其显示在控制台上。
  • "sys":使用sys模块进行捕获。这种方法将测试用例的输出捕获到sys.stdout和sys.stderr中,并在测试运行结束后将其显示在控制台上。
  • "no":禁用捕获,不会对测试用例的输出进行任何处理。测试用例的输出将直接显示在控制台上,而不进行捕获和重定向。
  • "tee-sys":使用tee模块进行捕获。这种方法将测试用例的输出同时重定向到文件和sys.stdout/sys.stderr中,并在测试运行结束后将其显示在控制台上。

通过指定不同的捕获方法,可以控制测试用例输出的显示方式和保存方式。根据需要选择合适的方法可以方便调试和查看输出结果。

9、[-x, --exitfirst]

-x, --exitfirst :遇到第一个错误(error )或失败(failed )的测试用例后立即停止执行,不再执行后续的测试用例。

--lf, --last-failed :只运行上次失败的测试用例,而不运行其他的测试用例。

--ff, --failed-first :用于运行所有的测试用例,但会首先运行上次失败的测试用例。

这些选项对于快速定位和调试测试用例非常有用。


 reference:

Get Started — pytest documentation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值