상상적으로 명명 된 Mock testing library를 사용하여 Django 앱을 테스트하는 동안 무언가를 조롱하려고합니다 . 제대로 작동하지 않는 것 같습니다. 이렇게하려고합니다.
models.py
from somelib import FooClass
class Promotion(models.Model):
foo = models.ForeignKey(FooClass)
def bar(self):
print "Do something I don't want!"
test.py
class ViewsDoSomething(TestCase):
view = 'my_app.views.do_something'
def test_enter_promotion(self):
@patch.object(my_app.models.FooClass, 'bar')
def fake_bar(self, mock_my_method):
print "Do something I want!"
return True
self.client.get(reverse(view))
내가 도대체 뭘 잘못하고있는 겁니까?
bar
사실은 "인스턴스 메소드"이며 유일한 매개 변수는self
입니다. 클래스 메서드가 되려면로 매개 변수화해야cls
하며Promotion.foo()
.