當前位置: 首頁>>代碼示例>>Python>>正文


Python monkeypatch.setattr方法代碼示例

本文整理匯總了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()
開發者ID:6br,項目名稱:servo,代碼行數:10,代碼來源:test_monkeypatch.py

示例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
開發者ID:ProProgrammer,項目名稱:pytest,代碼行數:19,代碼來源:test_monkeypatch.py

示例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
開發者ID:ProProgrammer,項目名稱:pytest,代碼行數:23,代碼來源:test_monkeypatch.py


注:本文中的_pytest.monkeypatch.monkeypatch.setattr方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。