मैं पायथन के साथ नकली का उपयोग कर रहा हूं और सोच रहा था कि उन दोनों दृष्टिकोणों में से कौन सा बेहतर है (पढ़ें: अधिक पायथोनिक)।
विधि एक : बस एक नकली वस्तु बनाएं और उसका उपयोग करें। कोड इस तरह दिखता है:
def test_one (self):
mock = Mock()
mock.method.return_value = True
self.sut.something(mock) # This should called mock.method and checks the result.
self.assertTrue(mock.method.called)
विधि दो : एक मॉक बनाने के लिए पैच का उपयोग करें। कोड इस तरह दिखता है:
@patch("MyClass")
def test_two (self, mock):
instance = mock.return_value
instance.method.return_value = True
self.sut.something(instance) # This should called mock.method and checks the result.
self.assertTrue(instance.method.called)
दोनों विधियाँ समान कार्य करती हैं। मैं मतभेदों का अनिश्चित हूं।
क्या कोई मुझे बता सकता है?