conftetst.py に独自のコマンド ライン オプションを含めます。
def pytest_addoption(parser):
parser.addoption("--backend" , default="test_backend",
help="run testx for the given backend, default: test_backend")
と
def pytest_generate_tests(metafunc):
if 'backend' in metafunc.funcargnames:
if metafunc.config.option.backend:
backend = metafunc.config.option.backend
backend = backend.split(',')
backend = map(lambda x: string.lower(x), backend)
metafunc.parametrize("backend", backend)
モジュール内の通常の関数内でこのコマンド ライン オプションを使用すると、次のようになります。
module: test_this.py;
def test_me(backend):
print backend
期待どおりに動作します。
ここで、setup_module 関数を含めて、いくつかのテストの前にいくつかのものを作成/コピーしたいと思います。
def setup_module(backend):
import shutil
shutil.copy(backend, 'use_here')
...
残念ながら、setup_module 関数内でこのコマンド ライン オプションにアクセスする方法がわかりました。私が試したことは何も機能しません。
助けてくれてありがとう、提案。
乾杯