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/

10-12 05:31