Я бы хотел получить параметры теста настройки и проверки из файла json, который выглядит примерно так:
setup_verify_foo.json
[
{
"test1" : {
"setup" : {},
"verify" : {}
}
},
{
"test2" : {
"setup" : {},
"verify" : {}
}
}
]
Я думал о том, чтобы это было в том же каталоге, что и модуль теста, который выглядит что-то вроде:
/tests/foo
test_foo.py
setup_verify_foo.json
В test_foo.py я хотел бы иметь тестовый параметр json объектов для test1
и test1
. Я думаю что-то вроде:
# in test_foo.py
def test_foo(setup_verify):
# setup for this test
setup_verify["setup"]
# run test
run_data = run_my_test()
# get verify data
setup_verify["verify"]
Я думаю, что мне нужно было бы использовать pytest_generate_tests(metafunc)
, но не уверен, как это сделать. Это где мне нужна помощь? Я думаю что-то вроде:
# in conftest.py
def pytest_generate_tests(metafunc):
if "setup_verify" in metefunc.fixturenames:
# get module path. How do I do this?
# get module name. How do I do this?
# strip _test and create json file name.
with open(json_full_path, 'r') as f:
obj = json.load(f)
metafunc.parametrize("setup_verify", obj)