本文整理匯總了Python中_pytest.monkeypatch.monkeypatch.setattr方法的典型用法代碼示例。如果您正苦於以下問題:Python monkeypatch.setattr方法的具體用法?Python monkeypatch.setattr怎麽用?Python monkeypatch.setattr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類_pytest.monkeypatch.monkeypatch
的用法示例。
在下文中一共展示了monkeypatch.setattr方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_issue156_undo_staticmethod
# 需要導入模塊: from _pytest.monkeypatch import monkeypatch [as 別名]
# 或者: from _pytest.monkeypatch.monkeypatch import setattr [as 別名]
def test_issue156_undo_staticmethod(Sample):
monkeypatch = MonkeyPatch()
monkeypatch.setattr(Sample, 'hello', None)
assert Sample.hello is None
monkeypatch.undo()
assert Sample.hello()
示例2: test_delattr
# 需要導入模塊: from _pytest.monkeypatch import monkeypatch [as 別名]
# 或者: from _pytest.monkeypatch.monkeypatch import setattr [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
示例3: test_setattr
# 需要導入模塊: from _pytest.monkeypatch import monkeypatch [as 別名]
# 或者: from _pytest.monkeypatch.monkeypatch import setattr [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