如何将额外的参数传递给我的py.test设置方法?

时间:2018-01-30 08:29:14

标签: python pytest

我需要根据我想要运行df[df$a==0,-1]=df[df$a==0,-1]*4 df[df$a==1,-1]=df[df$a==1,-1]*2 df a b c 1 1 2 NA 2 0 NA 8 3 1 NA 8 4 1 6 NA 5 0 20 NA 测试的位置或方式来设置测试。我希望能够做这样的事情

py.test

并检索测试类

的setup方法中的值
py.test --do_this

py.test --do_that

这样的事情。可以这样做吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

从文档中,您可以向pytest调用者

添加参数
# content of test_sample.py
def test_answer(do):
    if do == "this":
        print ("do this option")
    elif do == "that":
        print ("do that option")
    assert 0 # to see what was printed

# content of conftest.py
import pytest

def pytest_addoption(parser):
    parser.addoption("--do", action="store", default="that",
        help="my option: this or that")

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

然后,您可以将pytest称为pytest -q test_sample.py以获取thatpytest -q --do=this的默认案例以获取其他案例