나는 파이썬과 함께 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)
방법 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)
두 방법 모두 동일한 작업을 수행합니다. 차이점이 확실하지 않습니다.
누구든지 나를 깨달을 수 있습니까?
10
Mock ()이나 패치를 한 번도 해본 적이없는 사람으로서 실제 차이를 이해하지 못하더라도 첫 번째 버전이 더 명확하고하고 싶은 일을 보여줍니다. 이것이 도움이되는지 아닌지는 모르겠지만 초보 프로그래머가 느낄 수있는 것을 전달하는 것이 유용 할 것이라고 생각했습니다.
—
Michael Brennan 2011
@MichaelBrennan : 귀하의 의견에 감사드립니다. 참으로 유용합니다.
—
Sardathrion-SE 남용에 대하여