私はmockをPythonで使用していますが、どちらの方法がどちらの方が優れているのか不思議に思っていました(読む:もっとpythonic)。クラスを模擬する:Mock()かpatch()?
方法1:モックオブジェクトを作成して使用してください。モックを作成するには、パッチの使用:
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)
方法2:コードは次のようになります。コードは次のようになります。
@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)
どちらの方法も同じです。私はその違いを確信していません。
誰でも私を啓発できますか?
、私は私が何も理解していないにも関わらず、最初のバージョンは明確であり、あなたがやりたいことを示していることを感じます実際の違い。私はこれが何か助けであるかどうかわからないが、私は、初心者のプログラマーが感じるかもしれないものを伝えることが有用かもしれないと思った。 –
@MichaelBrennan:ご意見ありがとうございます。それは確かに有用です。 – Sardathrion