本文整理汇总了Python中_pytest.monkeypatch.MonkeyPatch.undo方法的典型用法代码示例。如果您正苦于以下问题:Python MonkeyPatch.undo方法的具体用法?Python MonkeyPatch.undo怎么用?Python MonkeyPatch.undo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类_pytest.monkeypatch.MonkeyPatch
的用法示例。
在下文中一共展示了MonkeyPatch.undo方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: 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
示例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()
示例3: test_undo_class_descriptors_delattr
# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import undo [as 别名]
def test_undo_class_descriptors_delattr():
class SampleParent(object):
@classmethod
def hello(_cls):
pass
@staticmethod
def world():
pass
class SampleChild(SampleParent):
pass
monkeypatch = MonkeyPatch()
original_hello = SampleChild.hello
original_world = SampleChild.world
monkeypatch.delattr(SampleParent, "hello")
monkeypatch.delattr(SampleParent, "world")
assert getattr(SampleParent, "hello", None) is None
assert getattr(SampleParent, "world", None) is None
monkeypatch.undo()
assert original_hello == SampleChild.hello
assert original_world == SampleChild.world
示例4: 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
示例5: 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()
示例6: test_setenv
# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import undo [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
示例7: 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
示例8: test_setenv_prepend
# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import undo [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
示例9: 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
示例10: 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}
示例11: 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
示例12: block_unmocked_requests
# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import undo [as 别名]
def block_unmocked_requests():
"""
Prevents requests from being made unless they are mocked.
Helps avoid inadvertent dependencies on external resources during the test run.
"""
def mocked_send(*args, **kwargs):
raise RuntimeError('Tests must mock all HTTP requests!')
# The standard monkeypatch fixture cannot be used with session scope:
# https://github.com/pytest-dev/pytest/issues/363
monkeypatch = MonkeyPatch()
# Monkeypatching here since any higher level would break responses:
# https://github.com/getsentry/responses/blob/0.5.1/responses.py#L295
monkeypatch.setattr('requests.adapters.HTTPAdapter.send', mocked_send)
yield monkeypatch
monkeypatch.undo()
示例13: test_delattr
# 需要导入模块: from _pytest.monkeypatch import MonkeyPatch [as 别名]
# 或者: from _pytest.monkeypatch.MonkeyPatch import undo [as 别名]
def test_delattr():
class A(object):
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
示例14: 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
示例15: 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]