Pytest plugin to fail a test if it leaves modified `os.environ` afterwards.
Project description
pytest-modified-env
Pytest plugin to fail a test if it leaves modified os.environ
afterwards.
Example:
import os
def test_that_modifies_env() -> None:
os.environ['CUSTOM_ENV'] = '1'
With pytest-modified-env
plugin installed, this test will fail:
___________________________ test_that_modifies_env ____________________________
test_that_modifies_env:4: in pytest_runtest_call
E RuntimeError: os.environ was changed
Because it adds CUSTOM_ENV
inside a test and does not clean it up.
In theory it can affect other tests and tests should be isolated!
Installation
pip install pytest-modified-env
Extras
In some cases test still might modify the env in this way. But, it needs an explicit approval for that:
import os
import pytest
@pytest.mark.modify_env()
def test_that_modifies_env() -> None:
os.environ['CUSTOM_ENV'] = '1'
This test won't fail, eventhough it adds CUSTOM_ENV
,
because it has modifies_env
marker.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for pytest-modified-env-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c468d77643759e3b542bf173449b008a7d99883951ac7202ebbf836209f8cf43 |
|
MD5 | dd85d77cbd2abc53b4f2fa2be3d47d8e |
|
BLAKE2b-256 | 58de5c1a684b1aef8edd35397e1fe9985c499a2568a4ea74ab60ad486d9e9b23 |
Close
Hashes for pytest_modified_env-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3092011855f767b2e0e6c36e92a07c72f2de1426406a9c8224c955525dbb0a9 |
|
MD5 | b9178e68bbb0704a6942f75221b45895 |
|
BLAKE2b-256 | 1d2cfa83085736b6761bf6666f9d4f965a7d6c15575683589ce08044926a274a |