Python [求助] 问题一个 pytest 自定义命令的问题

流浪的武士 · 2019年08月13日 · 最后由 流浪的武士 回复于 2019年08月14日 · 2234 次阅读

为了更好的集成在 jenkins 上。我需要自定义 pytest 的命令行参数以便于接受 jenkins 的参数构建。
首先我注册了三个命令:

import pytest


def pytest_addoption(parser):
    parser.addoption('--pid', '--env', '--partner')


@pytest.fixture
def pid(request):
    return request.config.getoption("--pid")


@pytest.fixture
def env(request):
    return request.config.getoption("--env")


@pytest.fixture
def partner(request):
    return request.config.getoption("--partner")

然后再测试一下这个三个命令:
test.py

def test_pid(pid):
    assert pid == '123'


def test_env(env):
    assert env == 'TST'


def test_partner(partner):
    assert partner == 'SJD'

最后再运行 py 文件。pytest --pid=123 --env=TST --partner=SJD test.py

但是出现了问题,
总是断言错误,这三个参数的值对不上

情况如下:

求问各位大佬,这个是怎么回事??😂

共收到 2 条回复 时间 点赞

三个参数放在一行一起定义的话,填写任意一个参数,其他两个都会随之变化的,所以分开写就好了。

YueChen 回复

谢谢 解决了

def pytest_addoption(parser):
    parser.addoption('--pid')
    parser.addoption('--env')
    parser.addoption('--partner')
流浪的武士 关闭了讨论 08月14日 10:48
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册