mock을 처음 사용했습니다. 파이썬 2.7.13.python 2.7 - 모의 테스트 방법을 알아낼 수 없습니다
내가이 라이브러리 주위에 래퍼를 짓고 있어요
차례로 모든 REST이 라이브러리를 소모 https://github.com/sendgrid/sendgrid-python/blob/master/sendgrid/sendgrid.py
는
https://github.com/sendgrid/python-http-client/blob/master/python_http_client/client.py
내 테스트 코드는
class TestSendgridUtils(unittest.TestCase):
def setUp(self):
self.sgsu = SubUser(api_key=RANDOM_API_KEY, hippo_user=RANDOM_USER_OBJ)
@patch('sendgrid.SendGridAPIClient')
@patch('python_http_client.Client')
def test_create(self, sgc_mock, http_client_mock):
self.sgsu.create()
expected_data = {
'email' : self.sgsu.sg_username
}
print http_client_mock.call_list()
sgc_mock.client.assert_called_with(request_body=expected_data)
I과 같은 호출 기본적으로 HTTP 호출을하는 기본 라이브러리를 모의하려고합니다. 내 테스트는 sendgrid 모듈에 올바른 매개 변수를 전달하는 것입니다.
지금 테스트를 실행하면 HTTP 요청이 아직 만들어지고있어 의도 한 라이브러리를 조롱하지 못했다는 의미입니다.
모의 문서 읽기이 패치는 기본 클래스를 인스턴스화하는 경우에만 작동한다는 것을 이해합니다. 그러나 이것은 setUp()에 있어야 할 것입니다. 이것은 나의 테스트 케이스에서 나의 mock을 사용할 수 없다는 것을 의미할까요?
결과적으로이 인스턴스에서 모의 사용 방법에 대한 가장 좋은 방법은 무엇인지 알 수 없습니다. 내가 조롱해야하는 경우 난 그냥 'sendgrid.SendGridAPIClient'또는 조롱 할 수있는 경우 나는 또한 알아낼 수 없습니다 'python_http_client.Client'