Skip to content

The "create report" option, --html's parameter should be optional as it's possible to specify the name procedurally #477

Open
@bedge

Description

@bedge

When one sets the report name procedurally, eg:

@pytest.hookimpl(tryfirst=True)
def pytest_configure(config):
    """
    Runs early, report name must be set here
    https://stackoverflow.com/questions/60571675/setting-dynamic-folder-and-report-name-in-pytest
    :param config:
    :return:
    """
    env = os.environ['ENVIRONMENT']
    assert env is not None
    now = datetime.now()
    # create report target dir
    reports_dir = Path('reports')
    reports_dir.mkdir(parents=True, exist_ok=True)
    # custom report file
    report = reports_dir / f"{env}_{now.strftime('%Y-%m-%d_%H-%M')}.html"
    config.option.htmlpath = report.absolute()

The is no need to have a parameter to the --html arg as it's being specified in the code above.

However, one currently still needs to provide this to satisfy the argparser:

[I] ➜ py.test  .... --html
ERROR: usage: py.test [options] [file_or_dir] [file_or_dir] [...]
py.test: error: argument --html: expected one argument

It forces one to specify a parameter, eg: --html=xx solely for the parser validation.

In short, please make the --html arg's parameter optional.

thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    next-genCandidate for the next-gen project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions