Saya menggunakan tiruan dengan Python dan bertanya-tanya mana dari dua pendekatan itu yang lebih baik (baca: lebih banyak pythonic).
Metode satu : Buat saja objek tiruan dan gunakan itu. Kode tersebut terlihat seperti:
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)
Metode dua : Gunakan tambalan untuk membuat tiruan. Kode tersebut terlihat seperti:
@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)
Kedua metode tersebut melakukan hal yang sama. Saya tidak yakin dengan perbedaannya.
Adakah yang bisa mencerahkan saya?