所以,我一直在试图让pytest上运行基于一些命令行参数不同的环境中硒的测试。 但是,不断抛出这个错误:
TypeError: setup_class() takes exactly 2 arguments (1 given)
它似乎理解这一点就是setup_class
需要两个参数,但host
没有被通过。 下面是代码setup_class
:
def setup_class(cls, host):
cls.host = host
这里是conftest.py文件:
def pytest_addoption(parser):
parser.addoption("--host", action="store", default='local',
help="specify the host to run tests with. local|stage")
@pytest.fixture(scope='class')
def host(request):
return request.config.option.host
令人感到奇怪的是, host
正在由功能(所以,如果我做一个test_function,并通过主机作为一个参数,它得到它就好了),它仅仅是看到setup
是不工作的灯具。
我环顾四周,发现这一点, pytest -里面setup_module使用funcargs但似乎并没有工作(而且由于2.3已经过时。
有谁知道我做错了吗? 使用py.test 2.3.2。
谢谢