Mockear una clase: Mock () o patch ()?

Estoy usandoburlarse d con Python y me preguntaba cuál de esos dos enfoques es mejor (léase: más pitónico).

Método uno: Simplemente crea un objeto simulado y úsalo. El código se ve así:

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)

Método dos: Usa el parche para crear un simulacro. El código se ve así:

@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)

Ambos métodos hacen lo mismo. No estoy seguro de las diferencias.

¿Alguien podría iluminarme?

Respuestas a la pregunta(2)

Su respuesta a la pregunta