首頁 >後端開發 >Golang >如何在沒有介面的 Go 測試案例中模擬結構體方法?

如何在沒有介面的 Go 測試案例中模擬結構體方法?

DDD
DDD原創
2024-12-20 17:52:10645瀏覽

How to Mock Struct Methods in Go Test Cases Without Interfaces?

Go 測試案例中模擬結構體方法

Go 中無需在源碼中引入介面即可實現結構體方法的模擬呼叫。具體方法如下:

模擬範例結構與方法

考慮以下結構與方法:

測試案例中的模擬

模擬執行方法進行測試案例:

  1. 建立模擬介面:定義一個代表要模擬的方法的介面。
  1. 建立模擬與真實實作:實現模擬和真實實現的介面struct.
  1. 使用依賴注入:將模擬或真實實作作為參數傳遞給被測試的函數。
  1. 注入 Mock測試: 在您的測試案例中,將模擬實作注入到呼叫函數中。
  1. 在生產程式碼中註入真實實作: 在您的生產程式碼,將結構的實際實作注入到呼叫中函數。

其他選項

像[testify/mock](https://godoc.org/github.com/stretchr/ testify/mock )提供更強大的模擬功能,可讓您控制模擬行為並驗證方法呼叫。

以上是如何在沒有介面的 Go 測試案例中模擬結構體方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn