限制pytes中要执行的测试用例的数量

2024-06-07 15:48:54 发布

您现在位置:Python中文网/ 问答频道 /正文

一点背景知识

  • 我正在和詹金斯一起执行我的测试用例,我正在和詹金斯一起做一个小POC。你知道吗
  • 在我的例子中,有500多个测试用例需要一个小时才能执行。你知道吗
  • 我只想执行一个测试用例,只想知道我在执行Jenkins POC时没有犯任何错误。你知道吗

有没有办法限制要执行的测试用例的数量?像。。你知道吗

  pytest -vv --limit 1

或者

使用conftest.py?你知道吗


Tags: py数量pytest错误测试用例例子jenkins背景
1条回答
网友
1楼 · 发布于 2024-06-07 15:48:54

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

$ pytest tests/test_spam.py::TestEggs::test_bacon

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

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

$ pytest  collect-only -q

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

$ pytest -q  collect-only 2>&1 | head -n N | xargs pytest -sv

将执行第一个N收集的测试。你知道吗

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

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]

现在,上述命令变为

$ pytest  limit N

相关问题 更多 >

    热门问题