关于pytest的命令行传参

#conftest.py
import pytest

def pytest_addoption(parser):    #parser:用户命令行参数与ini文件值的解析器
    # group = parser.getgroup("debugconfig")
    # print(parser)
    # group.addoption(
    #     "--cmdopt", action="store", default="type1", help="my option: type1 or type2"
    # )
    parser.addoption(       #注册一个命令行选项
        "--cmdopt", action="store", default="type1", help="my option: type1 or type2"
    )

@pytest.fixture
def a():
    return pytest.config.getoption("--cmdopt")     #源码中注释为返回命令行参数--cmdopt的值
#test_01.py
import pytest
def test_answer(a):
    if a == "type1":    #获取命令行传参的值后进行判断
        print("first")
    elif a == "type2":
        print("second")
    assert 0  # to see what was printed

if __name__ == "__main__":
    pytest.main(["-s", "test_case1.py"])

 

posted @ 2018-12-13 10:58  乐乐熊小妹  阅读(1492)  评论(0编辑  收藏  举报