mockgen tidak mencipta olok-olok

WBOY
Lepaskan: 2024-02-06 08:45:03
ke hadapan
988 orang telah melayarinya

mockgen 不创建模拟

Kandungan soalan

Ini adalah struktur folder saya:

demo/
|-- go.mod
|-- main.go
|-- interfaces/
|   |-- interfaces.go
|-- mocks/
Salin selepas log masuk

Ini ialah fail go.mod saya

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
)
Salin selepas log masuk

Ini antara muka saya.go

package interfaces

type MyInterface interface {
    DoSomething() error
    GetValue() int
}
Salin selepas log masuk

Apabila saya cuba menjalankan perintah mockgen, bukannya mencipta olok-olok, ia memberi saya penerangan bantuan ini: mockgen mempunyai dua mod operasi: sumber dan refleksi. Mod sumber menjana antara muka olok-olok daripada fail sumber. Ia didayakan dengan menggunakan bendera -source. Bendera lain yang mungkin berguna dalam mod ini ialah -imports dan -aux_files.

https://manpages.org/mockgen

Saya menjalankan arahan berikut: mockgen -destination=mocks/mock_myinterface.go -package=mocks demo/interfaces MyInterface

Bagaimana untuk menggunakan arahan mockgen dengan betul?


Jawapan betul


Anda mungkin perlu menggunakan garpu yang diselenggara oleh Uber (sejak Google meninggalkan golang/mock): https://github.com/uber-go/mock

Jika anda hanya menjalankan arahan mockgen anda akan mendapat pilihan arahan. Sesuatu yang sepatutnya berkesan untuk anda ialah:

mockgen -source interfaces/interfaces.go -destination mocks/mocks.go
Salin selepas log masuk

Atas ialah kandungan terperinci mockgen tidak mencipta olok-olok. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!