pytest-html icon indicating copy to clipboard operation
pytest-html copied to clipboard

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

Open bedge opened this issue 4 years ago • 2 comments

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

bedge avatar Dec 30 '21 16:12 bedge

Good point!

Will make sure this is how the next major release works. 👍

BeyondEvil avatar Jan 14 '22 19:01 BeyondEvil

WooHoo! thanks!

bedge avatar Jan 14 '22 19:01 bedge