http.Client Do 메서드 모의
코드에서 테스트 목적으로 http.Client Do 메서드 모의를 시도하고 있습니다. . 정의한 HttpClient 인터페이스에는 Do 서명과 일치하는 함수만 필요하므로 모의 객체를 활용하여 이 요구 사항을 충족할 수 있습니다.
ClientMock 구조체 생성을 고려하세요.
type ClientMock struct {}
이 모의 구조체의 Do 메소드는 다음과 같습니다.
func (c *ClientMock) Do(req *http.Request) (*http.Response, error) { return &http.Response{}, nil }
이 ClientMock은 다음을 반환하여 HttpClient 동작을 효과적으로 시뮬레이션합니다. 더미 http.Response이고 오류가 없습니다.
이 모의 객체를 사용하려면 ClientMock 인스턴스를 GetOverview 함수에 클라이언트 매개변수로 삽입하세요. 이를 통해 모의 객체가 반환하는 HTTP 응답을 제어할 수 있어 테스트 중에 다양한 시나리오를 시뮬레이션할 수 있습니다.
한 가지 대안 접근 방식은 모의 라이브러리를 활용하는 것입니다. 그러나 언급한 것처럼 많은 라이브러리는 Do 메서드에 대한 모의 개체를 명시적으로 제공하지 않습니다. 사용자 정의 유형 내에서 http.Client를 래핑하고 대신 해당 유형에 대한 모의를 제공하는 것을 고려할 수 있습니다.
궁극적으로 모의 전략 선택은 특정 테스트 요구 사항 및 선호도에 따라 다릅니다.
위 내용은 테스트를 위해 http.Client Do 메서드를 효과적으로 모의하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!