2013-10-02 12 views
5

Jak mogę stwierdzić, że dostęp do atrybutu na Mock i/lub MagicMock został uzyskany?Dostęp do atrybutu assert na fałszywej instancji uzyskał

Na przykład

from unittest.mock import MagicMock 

def foo(x): 
    a = x.value 

m = MagicMock() 
foo(m) 
m.attr_accessed('value') # method that does not exist but I wish did; should return True 

Jaki jest rzeczywisty sposób sprawdzić, że foo próbował uzyskać dostęp m.value?

Odpowiedz

6

Można użyć funkcji PropertyMock zgodnie z opisem podanym pod numerem here.

np

from unittest.mock import MagicMock, PropertyMock 

def foo(x): 
    a = x.value 

m = MagicMock() 
p = PropertyMock() 
type(m).value = p 
foo(m) 
p.assert_called_once_with() 
Powiązane problemy