Skip to content

How to define a dynamic filename for parametrized tests for py.test? #140

@alex4200

Description

@alex4200

In a py.test code I can specify some file that can be used for some tests. So in the conftest.py I define

def pytest_addoption(parser):
    """Defines the extra options for the MOOC tests."""
    parser.addoption(
        "--tests",
        help="Defines the json files containing the test parameters.",
    )
  

@pytest.fixture
def testfile(request):
    """Returns True if driver should run headless."""
    return request.config.getoption("--tests")

so I have a fixture which represents a filename.

Now in the test itself I want to use this filename to parametrize a test as follows:

from parameterized import parameterized

    @parameterized(
        param.explicit(*json.loads(line))
        for line in open(testfile)
    )
    def test_1(testparam):
         ...

but that does not work as the fixture testfile does not seem to be defined/accessible in "front of" a test method. Is there any way to define testfile in a dynamic way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    pytest-fixturesIssues related to pytest fixture support.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions