pytest-env 1.1.4

Creator: bradpython12

Last updated:

Add to Cart

Description:

pytestenv 1.1.4

pytest-env





This is a pytest plugin that enables you to set environment variables in a pytest.ini or pyproject.toml file.
Installation
Install with pip:
pip install pytest-env

Usage
Native form in pyproject.toml
[tool.pytest_env]
HOME = "~/tmp"
RUN_ENV = 1
TRANSFORMED = {value = "{USER}/alpha", transform = true}
SKIP_IF_SET = {value = "on", skip_if_set = true}

The tool.pytest_env tables keys are the environment variables keys to set. The right hand side of the assignment:

if an inline table you can set options via the transform or skip_if_set keys, while the value key holds the
value to set (or transform before setting). For transformation the variables you can use is other environment
variable,
otherwise the value to set for the environment variable to set (casted to a string).

Via pytest configurations
In your pytest.ini file add a key value pair with env as the key and the environment variables as a line separated
list of KEY=VALUE entries. The defined variables will be added to the environment before any tests are run:
[pytest]
env =
HOME=~/tmp
RUN_ENV=test

Or with pyproject.toml:
[tool.pytest.ini_options]
env = [
"HOME=~/tmp",
"RUN_ENV=test",
]

Only set if not already set
You can use D: (default) as prefix if you don't want to override existing environment variables:
[pytest]
env =
D:HOME=~/tmp
D:RUN_ENV=test

Transformation
You can use existing environment variables using a python-like format, these environment variables will be expended
before setting the environment variable:
[pytest]
env =
RUN_PATH=/run/path/{USER}

You can apply the R: prefix to keep the raw value and skip this transformation step (can combine with the D: flag,
order is not important):
[pytest]
env =
R:RUN_PATH=/run/path/{USER}
R:D:RUN_PATH_IF_NOT_SET=/run/path/{USER}

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.