0

pytest を使用してスイートを実行するための ID を取得し、データベースからスイートをロードしてから、パラメーター化された方法でテスト ケースを生成しようとしています。以下のコードは、私がやりたいことの要点を示していますが、fixture 'case' not found.

caseデータベース ルックアップから返される ID でパラメータ化するにはどうすればよいですか?

import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test_harness.settings")
application = get_wsgi_application()

from unitrunner.models import TestSuiteModel as SuiteModel


def pytest_addoption(parser):
    parser.addoption("--suite", action="append", default=[],
        help="Suite ID to evaluate")


def pytest_generate_tests(metafunc):
    if 'suite' in metafunc.fixturenames:
        suite_id = metafunc.fixturenames['suite']

        this_suite = SuiteModel.objects.get(id=suite_id)
        test_cases = this_suite.testCases.all()

        metafunc.parametrize(
            "case",
            [item.id for item in test_cases]
        )


def test_case(case):
    print(case)

    assert False
4

1 に答える 1