This project is not maintained any longer - sorry for any inconvenience this might cause.
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.
Install the plugin with pip:
pip install pytest-dotenvIf 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.
Add a new section named env_files to your pytest config file.
You can list as many files as necessary:
[pytest]
env_files =
.env
.test.env
.deploy.envThe 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.
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.envYou 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.