在Go 中重新定義常數用於測試
問題大綱:
在Go 中,常量提供不可變的數值,申報後不得更改。然而,當測試依賴這些常數的程式碼時,為測試目的注入不同的值變得具有挑戰性。
建議的解決方案:
潛在的解決方案在於重構程式碼以包含第二個函數將基本 URL 作為參數,並以常數值作為參數呼叫原始函數。
實現詳細信息:
引入輔助函數:
將常數baseUrl_ 替換為接受基本URL 作為參數:
<code class="go">func myFuncImpl(baseUrl string) string { // Use `baseUrl` in the function }</code>
修改原函數:
<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() 並為其指派自訂值基本網址:
以上是我們如何測試依賴常數的 Go 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!