首頁 > 後端開發 > Golang > 主體

mockgen 不創建模擬

WBOY
發布: 2024-02-06 08:45:03
轉載
988 人瀏覽過

mockgen 不创建模拟

問題內容

這是我的資料夾結構:

demo/
|-- go.mod
|-- main.go
|-- interfaces/
|   |-- interfaces.go
|-- mocks/
登入後複製

這是我的 go.mod 檔

go 1.20

require (
    github.com/golang/mock v1.6.0 // indirect
    golang.org/x/mod v0.4.2 // indirect
    golang.org/x/sys v0.0.0-20210510120138-977fb7262007 // indirect
    golang.org/x/tools v0.1.1 // indirect
    golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
)
登入後複製

這是我的interfaces.go

package interfaces

type MyInterface interface {
    DoSomething() error
    GetValue() int
}
登入後複製

當我嘗試執行mockgen指令時,它並沒有創建模擬,而是給了我這個幫助描述: mockgen 有兩種操作模式:source 和reflect。 Source 模式從來源檔案產生mock 介面。它是透過使用 -source 標誌啟用的。在此模式下可能有用的其他標誌是 -imports 和 -aux_files。

https://manpages.org/mockgen

#我執行了以下指令:mockgen -destination=mocks/mock_myinterface.go -package=mocks demo/interfaces MyInterface

如何正確使用mockgen指令?

正確答案

您可能應該使用Uber 維護的分支(因為Google 放棄了golang/mock):https: //github.com/uber -go/mock

如果您只是執行 mockgen

命令,您將獲得命令選項。應該對您有用的東西是這樣的:###
mockgen -source interfaces/interfaces.go -destination mocks/mocks.go
登入後複製

以上是mockgen 不創建模擬的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!