나는 파이썬에서 mock을 사용하고 있는데이 두 접근법 중 어느 것이 더 좋을지 궁금해하고있다.수업 조롱 : 모의() 또는 패치()?
방법 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)
이 방법 : 같은 코드가 보인다. 코드는 다음과 같습니다.
@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