当前位置: 首页>>代码示例>>Python>>正文


Python MonkeyPatch.setenv方法代码示例

本文整理汇总了Python中_pytest.monkeypatch.MonkeyPatch.setenv方法的典型用法代码示例。如果您正苦于以下问题:Python MonkeyPatch.setenv方法的具体用法?Python MonkeyPatch.setenv怎么用?Python MonkeyPatch.setenv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在_pytest.monkeypatch.MonkeyPatch的用法示例。


在下文中一共展示了MonkeyPatch.setenv方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_setenv

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
def test_setenv():
    monkeypatch = MonkeyPatch()
    monkeypatch.setenv('XYZ123', 2)
    import os
    assert os.environ['XYZ123'] == "2"
    monkeypatch.undo()
    assert 'XYZ123' not in os.environ
开发者ID:RonnyPfannschmidt,项目名称:pytest,代码行数:9,代码来源:test_monkeypatch.py

示例2: test_setenv_prepend

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
def test_setenv_prepend():
    import os
    monkeypatch = MonkeyPatch()
    monkeypatch.setenv('XYZ123', 2, prepend="-")
    assert os.environ['XYZ123'] == "2"
    monkeypatch.setenv('XYZ123', 3, prepend="-")
    assert os.environ['XYZ123'] == "3-2"
    monkeypatch.undo()
    assert 'XYZ123' not in os.environ
开发者ID:RonnyPfannschmidt,项目名称:pytest,代码行数:11,代码来源:test_monkeypatch.py

示例3: test_setenv

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
def test_setenv():
    monkeypatch = MonkeyPatch()
    with pytest.warns(pytest.PytestWarning):
        monkeypatch.setenv("XYZ123", 2)
    import os

    assert os.environ["XYZ123"] == "2"
    monkeypatch.undo()
    assert "XYZ123" not in os.environ
开发者ID:nicoddemus,项目名称:pytest,代码行数:11,代码来源:test_monkeypatch.py

示例4: test_setenv_prepend

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
def test_setenv_prepend():
    import os

    monkeypatch = MonkeyPatch()
    with pytest.warns(pytest.PytestWarning):
        monkeypatch.setenv("XYZ123", 2, prepend="-")
    assert os.environ["XYZ123"] == "2"
    with pytest.warns(pytest.PytestWarning):
        monkeypatch.setenv("XYZ123", 3, prepend="-")
    assert os.environ["XYZ123"] == "3-2"
    monkeypatch.undo()
    assert "XYZ123" not in os.environ
开发者ID:nicoddemus,项目名称:pytest,代码行数:14,代码来源:test_monkeypatch.py

示例5: test_setenv_deleted_meanwhile

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
def test_setenv_deleted_meanwhile(before):
    key = "qwpeoip123"
    if before:
        os.environ[key] = "world"
    monkeypatch = MonkeyPatch()
    monkeypatch.setenv(key, "hello")
    del os.environ[key]
    monkeypatch.undo()
    if before:
        assert os.environ[key] == "world"
        del os.environ[key]
    else:
        assert key not in os.environ
开发者ID:sallner,项目名称:pytest,代码行数:15,代码来源:test_monkeypatch.py

示例6: test_delenv

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
def test_delenv():
    name = "xyz1234"
    assert name not in os.environ
    monkeypatch = MonkeyPatch()
    pytest.raises(KeyError, "monkeypatch.delenv(%r, raising=True)" % name)
    monkeypatch.delenv(name, raising=False)
    monkeypatch.undo()
    os.environ[name] = "1"
    try:
        monkeypatch = MonkeyPatch()
        monkeypatch.delenv(name)
        assert name not in os.environ
        monkeypatch.setenv(name, "3")
        assert os.environ[name] == "3"
        monkeypatch.undo()
        assert os.environ[name] == "1"
    finally:
        if name in os.environ:
            del os.environ[name]
开发者ID:sallner,项目名称:pytest,代码行数:21,代码来源:test_monkeypatch.py

示例7: inline_run

# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import setenv [as 别名]
    def inline_run(self, *args, **kwargs):
        """Run ``pytest.main()`` in-process, returning a HookRecorder.

        Runs the :py:func:`pytest.main` function to run all of pytest inside
        the test process itself.  This means it can return a
        :py:class:`HookRecorder` instance which gives more detailed results
        from that run than can be done by matching stdout/stderr from
        :py:meth:`runpytest`.

        :param args: command line arguments to pass to :py:func:`pytest.main`

        :param plugin: (keyword-only) extra plugin instances the
           ``pytest.main()`` instance should use

        :return: a :py:class:`HookRecorder` instance

        """
        finalizers = []
        try:
            # Do not load user config.
            monkeypatch = MonkeyPatch()
            monkeypatch.setenv("HOME", str(self.tmpdir))
            monkeypatch.setenv("USERPROFILE", str(self.tmpdir))
            finalizers.append(monkeypatch.undo)

            # When running pytest inline any plugins active in the main test
            # process are already imported.  So this disables the warning which
            # will trigger to say they can no longer be rewritten, which is
            # fine as they have already been rewritten.
            orig_warn = AssertionRewritingHook._warn_already_imported

            def revert_warn_already_imported():
                AssertionRewritingHook._warn_already_imported = orig_warn

            finalizers.append(revert_warn_already_imported)
            AssertionRewritingHook._warn_already_imported = lambda *a: None

            # Any sys.module or sys.path changes done while running pytest
            # inline should be reverted after the test run completes to avoid
            # clashing with later inline tests run within the same pytest test,
            # e.g. just because they use matching test module names.
            finalizers.append(self.__take_sys_modules_snapshot().restore)
            finalizers.append(SysPathsSnapshot().restore)

            # Important note:
            # - our tests should not leave any other references/registrations
            #   laying around other than possibly loaded test modules
            #   referenced from sys.modules, as nothing will clean those up
            #   automatically

            rec = []

            class Collect(object):
                def pytest_configure(x, config):
                    rec.append(self.make_hook_recorder(config.pluginmanager))

            plugins = kwargs.get("plugins") or []
            plugins.append(Collect())
            ret = pytest.main(list(args), plugins=plugins)
            if len(rec) == 1:
                reprec = rec.pop()
            else:

                class reprec(object):
                    pass

            reprec.ret = ret

            # typically we reraise keyboard interrupts from the child run
            # because it's our user requesting interruption of the testing
            if ret == EXIT_INTERRUPTED and not kwargs.get("no_reraise_ctrlc"):
                calls = reprec.getcalls("pytest_keyboard_interrupt")
                if calls and calls[-1].excinfo.type == KeyboardInterrupt:
                    raise KeyboardInterrupt()
            return reprec
        finally:
            for finalizer in finalizers:
                finalizer()
开发者ID:lmregus,项目名称:Portfolio,代码行数:80,代码来源:pytester.py


注:本文中的_pytest.monkeypatch.MonkeyPatch.setenv方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。