मैं एक जांगो ऐप का परीक्षण करते समय कुछ नकली करने की कोशिश कर रहा हूं जो कल्पनाशील नाम से मॉक टेस्टिंग लाइब्रेरी का उपयोग कर रहा है । मुझे लगता है कि यह काम करने के लिए काफी नहीं मिल रहा है, मैं यह करने की कोशिश कर रहा हूं:
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()।