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


Python monkeypatch.undo方法代码示例

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


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

示例1: test_setitem_deleted_meanwhile

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_setitem_deleted_meanwhile():
    d = {}
    monkeypatch = MonkeyPatch()
    monkeypatch.setitem(d, 'x', 2)
    del d['x']
    monkeypatch.undo()
    assert not d
开发者ID:6br,项目名称:servo,代码行数:9,代码来源:test_monkeypatch.py

示例2: test_issue1338_name_resolving

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_issue1338_name_resolving():
    pytest.importorskip('requests')
    monkeypatch = MonkeyPatch()
    try:
         monkeypatch.delattr('requests.sessions.Session.request')
    finally:
        monkeypatch.undo()
开发者ID:6br,项目名称:servo,代码行数:9,代码来源:test_monkeypatch.py

示例3: test_setenv

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [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:6br,项目名称:servo,代码行数:9,代码来源:test_monkeypatch.py

示例4: test_issue156_undo_staticmethod

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_issue156_undo_staticmethod(Sample):
    monkeypatch = MonkeyPatch()

    monkeypatch.setattr(Sample, 'hello', None)
    assert Sample.hello is None

    monkeypatch.undo()
    assert Sample.hello()
开发者ID:6br,项目名称:servo,代码行数:10,代码来源:test_monkeypatch.py

示例5: test_setenv_prepend

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [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:6br,项目名称:servo,代码行数:11,代码来源:test_monkeypatch.py

示例6: test_setenv_deleted_meanwhile

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [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:6br,项目名称:servo,代码行数:15,代码来源:test_monkeypatch.py

示例7: test_delitem

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_delitem():
    d = {'x': 1}
    monkeypatch = MonkeyPatch()
    monkeypatch.delitem(d, 'x')
    assert 'x' not in d
    monkeypatch.delitem(d, 'y', raising=False)
    pytest.raises(KeyError, "monkeypatch.delitem(d, 'y')")
    assert not d
    monkeypatch.setitem(d, 'y', 1700)
    assert d['y'] == 1700
    d['hello'] = 'world'
    monkeypatch.setitem(d, 'x', 1500)
    assert d['x'] == 1500
    monkeypatch.undo()
    assert d == {'hello': 'world', 'x': 1}
开发者ID:6br,项目名称:servo,代码行数:17,代码来源:test_monkeypatch.py

示例8: test_setitem

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_setitem():
    d = {'x': 1}
    monkeypatch = MonkeyPatch()
    monkeypatch.setitem(d, 'x', 2)
    monkeypatch.setitem(d, 'y', 1700)
    monkeypatch.setitem(d, 'y', 1700)
    assert d['x'] == 2
    assert d['y'] == 1700
    monkeypatch.setitem(d, 'x', 3)
    assert d['x'] == 3
    monkeypatch.undo()
    assert d['x'] == 1
    assert 'y' not in d
    d['x'] = 5
    monkeypatch.undo()
    assert d['x'] == 5
开发者ID:6br,项目名称:servo,代码行数:18,代码来源:test_monkeypatch.py

示例9: test_delattr

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_delattr():
    class A:
        x = 1
    monkeypatch = MonkeyPatch()
    monkeypatch.delattr(A, 'x')
    assert not hasattr(A, 'x')
    monkeypatch.undo()
    assert A.x == 1

    monkeypatch = MonkeyPatch()
    monkeypatch.delattr(A, 'x')
    pytest.raises(AttributeError, "monkeypatch.delattr(A, 'y')")
    monkeypatch.delattr(A, 'y', raising=False)
    monkeypatch.setattr(A, 'x', 5, raising=False)
    assert A.x == 5
    monkeypatch.undo()
    assert A.x == 1
开发者ID:ProProgrammer,项目名称:pytest,代码行数:19,代码来源:test_monkeypatch.py

示例10: test_delenv

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [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:6br,项目名称:servo,代码行数:21,代码来源:test_monkeypatch.py

示例11: test_setattr

# 需要导入模块: from _pytest.monkeypatch import monkeypatch [as 别名]
# 或者: from _pytest.monkeypatch.monkeypatch import undo [as 别名]
def test_setattr():
    class A:
        x = 1
    monkeypatch = MonkeyPatch()
    pytest.raises(AttributeError, "monkeypatch.setattr(A, 'notexists', 2)")
    monkeypatch.setattr(A, 'y', 2, raising=False)
    assert A.y == 2
    monkeypatch.undo()
    assert not hasattr(A, 'y')

    monkeypatch = MonkeyPatch()
    monkeypatch.setattr(A, 'x', 2)
    assert A.x == 2
    monkeypatch.setattr(A, 'x', 3)
    assert A.x == 3
    monkeypatch.undo()
    assert A.x == 1

    A.x = 5
    monkeypatch.undo() # double-undo makes no modification
    assert A.x == 5
开发者ID:ProProgrammer,项目名称:pytest,代码行数:23,代码来源:test_monkeypatch.py


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