semvec/pypi-packages huggingface dataset:
pytest-dotenv 0.5.2
A py.test plugin that parses environment files before running tests

# pytest-dotenv

This little plugin uses `python-dotenv` to load any environment variables from a `.env` file. Extra configuration can be defined in any `pytest` config files, such as `pytest.ini`, `tox.ini` and so on.

## Installation

Install the plugin with `pip`:

```
$ pip install pytest-dotenv
```

## Basic Usage

If all you want is to load environment variables from a `.env` file then installing the plugin is all that is needed. `python-dotenv` will automatically detect your `.env` file and load it. By default, the plugin won't override any existing system variables.


## Non-default configuration

### Custom Environment Variable Files

Add a new section to a config file named `env_vars`.
You can list as many files as necessary:

```
[pytest]
env_files =
    .env
    .test.env
    .deploy.env
```

The files will be loaded and added to the `os.environ` dict object before
any tests are run. If the files are not found on the working directory, it will search for the files in the ancestor directory and upwards.

### Overriding Existing Values

By default the plugin will not override any variables already defined in the
process' environment. If you want that behavior, you have to use the
`env_override_existing_values` setting:

```
[pytest]
env_override_existing_values = 1
env_files =
    .env
    .test.env
    .deploy.env
```

### Alternative: Specify the file at the command line

You also have the option to run your tests with `py.test --envfile path/to/.env`.
This will load all defined environment variables and overwrite any existing ones regardless of the configuration `env_override_existing_values`.