>  기사  >  백엔드 개발  >  Golang: httptest를 사용하여 HTTP 응답을 가로채고 시뮬레이션합니다.

Golang: httptest를 사용하여 HTTP 응답을 가로채고 시뮬레이션합니다.

王林
王林앞으로
2024-02-09 08:24:331135검색

Golang:使用 httptest 拦截和模拟 HTTP 响应

PHP 편집자 Zimo는 httptest를 사용하여 Golang에서 HTTP 응답을 가로채고 시뮬레이션하는 방법에 대한 기사를 제공합니다. 이 기사에서는 httptest 패키지를 사용하여 HTTP 요청을 가로채고 단위 테스트 및 기능 테스트에 대한 응답을 시뮬레이션하는 방법에 대해 자세히 살펴보겠습니다. httptest를 사용하면 다양한 시나리오에서 HTTP 응답을 쉽게 시뮬레이션하여 코드의 정확성과 견고성을 테스트할 수 있습니다. 이러한 기술을 익히는 것은 초보자와 숙련된 개발자 모두에게 매우 유용합니다. 다음으로 구체적인 구현 방법에 대해 알아보겠습니다!

질문 내용

골랭에서 모의 ​​테스트에 사용할 수 있는 다양한 도구를 살펴봤지만 이 작업을 수행하기 위해 httptest를 사용하려고 합니다. 특히 다음과 같은 기능이 있습니다.

으아악

내가 읽은 많은 문서에는 클라이언트 인터페이스나 사용자 정의 전송을 생성해야 하는 것 같습니다. 이 기본 코드를 변경하지 않고 테스트 파일에서 응답을 시뮬레이션하는 방법이 있습니까? getresponse 函数中。我可能有错误的想法,但我正在尝试找到一种方法来拦截 http.defaultclient.do(req) 호출에서 내 클라이언트, 응답 및 모든 관련 세부정보를 유지하고 맞춤 응답을 반환하고 싶습니다. 이것이 가능합니까?

해결 방법

클라이언트 인터페이스를 만들어야 할 것 같다는 글을 읽었습니다

이 기본 코드를 전혀 변경하지 마세요

코드를 깔끔하게 유지하는 것은 좋은 습관입니다. 결국에는 익숙해질 것입니다. 테스트 가능한 코드는 더 깨끗하고, 깔끔한 코드는 더 테스트하기 쉬우므로 모의 개체를 허용할 수 있도록 코드를 변경(인터페이스 사용)하는 것에 대해 걱정하지 마세요. .

가장 간단한 코드 형식은 다음과 같습니다.

으아악

테스트는 다음과 같습니다:

으아악

그러나 httptest를 사용하고 싶다면:

으아악

위 내용은 Golang: httptest를 사용하여 HTTP 응답을 가로채고 시뮬레이션합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제