我对pytest的一个命令行参数没有问题。在
当我运行程序时:python -m pytest -q -v --confcutdir=/usr/local/penguin/home/px09/p001 --cmdopt=type1 test-suite.py
我得到了预期的答复:
================================================ FAILURES ================================================
______________________________________________ test_answer _______________________________________________
cmdopt = 'type1'
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
> assert 0 # to see what was printed
E assert 0
test-suite.py:7: AssertionError
------------------------------------------ Captured stdout call ------------------------------------------
first
======================================== 1 failed in 0.01 seconds ==============
当我尝试多个论点时,我会遇到问题
import pytest
def pytest_addoption(parser):
parser.addoption("--cmdopt", action="store", default="type1",
help="my option: type1 or type2")
parser.addoption("--cmdopt2", action="store", default="type3",
help="my option: type3 or type4")
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
def cmdopt2(request):
return request.config.getoption("--cmdopt2")
_____________________________________ ERROR at setup of test_answer2 _____________________________________ file /usr/local/penguin/home/px09/p001/test-suite.py, line 9 def test_answer2(cmdopt2): E fixture 'cmdopt2' not found
> available fixtures: cache, capfd, capsys, cmdopt, doctest_namespace, monkeypatch, pytestconfig, record_xml_property, recwarn, tmpdir, tmpdir_factory
> use 'pytest --fixtures [testpath]' for help on them./usr/local/penguin/home/px09/p001/test-suite.py:9
================================================ FAILURES ================================================
______________________________________________ test_answer _______________________________________________
cmdopt = 'type1'
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
> assert 0 # to see what was printed
E assert 0
test-suite.py:7: AssertionError
-
我认为问题很简单。只需添加@pytest.夹具函数
cmdopt2
之前的装饰器相关问题 更多 >
编程相关推荐