跳过主要内容

pytest插件,如果测试后修改了`os.environ`,则使测试失败。

项目描述

pytest-modified-env

Build Status Python Version wemake-python-styleguide

pytest插件,如果测试后修改了os.environ,则使测试失败。

示例

import os

def test_that_modifies_env() -> None:
    os.environ['CUSTOM_ENV'] = '1'

安装了pytest-modified-env插件后,此测试将失败

___________________________ test_that_modifies_env ____________________________
test_that_modifies_env:4: in pytest_runtest_call
E   RuntimeError: os.environ was changed

因为它在测试中添加了CUSTOM_ENV,但没有清理它。从理论上讲,它可能影响其他测试,并且测试应该隔离!

安装

pip install pytest-modified-env

附加内容

在某些情况下,测试仍然可能以这种方式修改环境。但是,需要明确批准才能这样做

import os
import pytest

@pytest.mark.modify_env()
def test_that_modifies_env() -> None:
    os.environ['CUSTOM_ENV'] = '1'

即使添加了CUSTOM_ENV,此测试也不会失败,因为它有modifies_env标记。

许可证

MIT

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于安装软件包的信息。

源分布

pytest-modified-env-0.1.0.tar.gz (3.6 kB 查看哈希值)

上传时间 源代码

构建版本

pytest_modified_env-0.1.0-py3-none-any.whl (4.1 kB 查看哈希值)

上传时间 Python 3

支持者