首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制要在pytest中执行的测试用例数。

限制要在pytest中执行的测试用例数。
EN

Stack Overflow用户
提问于 2019-06-21 06:45:17
回答 1查看 889关注 0票数 2

一点背景

  • 我正在使用Jenkins执行我的测试用例,现在我正在使用Jenkins执行一些POC。
  • 而且,在我的例子中,有一些500+测试用例需要一个小时才能执行。
  • 我只想执行一个测试用例,只是为了知道我在执行Jenkins POC时没有犯任何错误。

是否有办法限制要执行的测试用例的数量?就像..。

代码语言:javascript
复制
  pytest -vv --limit 1

使用conftest.py?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-21 08:41:55

您可以通过多种方式限制测试的数量。例如,可以通过将测试的全名作为参数传递来执行单个测试:

代码语言:javascript
复制
$ pytest tests/test_spam.py::TestEggs::test_bacon

将只运行模块test_bacon中的类TestEggs中的测试方法tests/test_spam.py

如果您不知道确切的测试名称,可以通过执行

代码语言:javascript
复制
$ pytest --collect-only -q

可以组合这两个命令来执行有限数量的测试:

代码语言:javascript
复制
$ pytest -q --collect-only 2>&1 | head -n N | xargs pytest -sv

将执行第一个N收集的测试。

如果愿意,还可以自己实现--limit参数。示例:

代码语言:javascript
复制
def pytest_addoption(parser):
    parser.addoption('--limit', action='store', default=-1, type=int, help='tests limit')


def pytest_collection_modifyitems(session, config, items):
    limit = config.getoption('--limit')
    if limit >= 0:
        items[:] = items[:limit]

现在,上面的命令等于

代码语言:javascript
复制
$ pytest --limit N
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56698210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档