gpt4 book ai didi

python - 仅在使用 --collect-only 时运行方法

转载 作者:行者123 更新时间:2023-12-04 10:36:35 26 4
gpt4 key购买 nike

我正在尝试收集一些关于每个功能或团队有多少测试用例的统计数据,并且只想在收集期间执行此操作,而不是在我公司的每个人都运行他们的测试时执行此操作。我正在寻找一种仅当 --collect-onlypy.test 命令中使用时才运行函数的方法。

目标:

  • 仅当使用了--collect-only 时才运行一些代码
  • 我需要访问测试 items 数据结构(即我需要所有的标记用过)

目前,我正在通过 pytest_collection_modifyitems Hook 执行此操作:

def pytest_collection_modifyitems(config, items):
# This hook runs after collection
for item in items:
teams = [mark.name for mark in item.iter_markers() if mark.name.startswith('team_')]
features = [mark.name for mark in item.iter_markers() if mark.name.startswith('feature_')]

# do something with these markers

当且仅当 py.test 使用 --collect-only 运行时,是否有办法运行上面的代码?如果有人对执行此操作的更好方法有建议,请提供帮助!

谢谢!

最佳答案

只需检查是否在 config 对象中设置了标志。使用您的 hookimpl 的示例:

def pytest_collection_modifyitems(config, items):
if config.option.collectonly:
print("I will run only with --collectonly flag")
else:
print("I will run only without --collectonly flag")

关于python - 仅在使用 --collect-only 时运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60152776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com