py.test在哪里以及如何查找灯具?我在同一文件夹中的2个文件中具有相同的代码。当我删除conftest.py时,运行test_conf.py时找不到cmdopt(也在同一文件夹中。为什么不搜索sonoftest.py?
# content of test_sample.py
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
assert 0 # to see what was printed
conftest.py的内容
import pytest
def pytest_addoption(parser):
parser.addoption("--cmdopt", action="store", default="type1",
help="my option: type1 or type2")
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
sonoftest.py的内容
import pytest
def pytest_addoption(parser):
parser.addoption("--cmdopt", action="store", default="type1",
help="my option: type1 or type2")
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
医生说
http://pytest.org/latest/fixture.html#fixture-function
最佳答案
py.test将导入conftest.py
和所有与python_files
模式匹配的Python文件,默认情况下为test_*.py
。如果您有测试装置,则需要从conftest.py
或依赖它的测试文件中包括或导入它:
from sonoftest import pytest_addoption, cmdopt
关于python - pytest如何以及在哪里找到固定装置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13641973/