そのため、コマンドライン引数に基づいて、さまざまな環境でseleniumテストを実行するようにpytestを取得しようとしています。しかし、それはこのエラーをスローし続けます:
TypeError: setup_class() takes exactly 2 arguments (1 given)
setup_class
2つの引数を取ることは理解しているようですが、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。
ありがとう