테스트를 위해 Go에서 상수 재정의
문제 개요:
Go에서 상수는 불변 값을 제공합니다. 선언 후에는 변경할 수 없습니다. 그러나 이러한 상수에 의존하는 코드를 테스트할 때 테스트 목적으로 다른 값을 삽입하는 것이 어려워집니다.
제안된 솔루션:
잠재적인 솔루션은 다음을 포함하도록 코드를 리팩터링하는 것입니다. 기본 URL을 매개변수로 사용하고 상수 값을 인수로 사용하여 원래 함수를 호출하는 두 번째 함수입니다.
구현 세부 정보:
도우미 함수 소개:
상수 baseUrl_을 기본 URL을 인수:
<code class="go">func myFuncImpl(baseUrl string) string { // Use `baseUrl` in the function }</code>
원래 함수 수정:
원래 함수 유지 (MyFunc()) 도우미 호출 함수:
<code class="go">func MyFunc() string { return myFuncImpl(baseUrl_) }</code>
상수 유지:
이점:
예:
<code class="go">const baseUrl_ = "http://google.com" func MyFunc() string { return myFuncImpl(baseUrl_) }</code>
테스트 코드에서 myFuncImpl()을 직접 호출하고 다음에 대한 사용자 정의 값을 할당할 수 있습니다. baseUrl:
<code class="go">func TestMyFunc(t *testing.T) { result := myFuncImpl("http://example.org") // Assertions and tests }</code>
위 내용은 상수에 의존하는 Go 함수를 어떻게 테스트할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!