Heim > Backend-Entwicklung > Golang > Mockgen erstellt keine Mocks

Mockgen erstellt keine Mocks

WBOY
Freigeben: 2024-02-06 08:45:03
nach vorne
1014 Leute haben es durchsucht

mockgen 不创建模拟

Frageninhalt

Das ist meine Ordnerstruktur:

demo/
|-- go.mod
|-- main.go
|-- interfaces/
|   |-- interfaces.go
|-- mocks/
Nach dem Login kopieren

Das ist meine go.mod-Datei

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
)
Nach dem Login kopieren

Das ist mein interfaces.go

package interfaces

type MyInterface interface {
    DoSomething() error
    GetValue() int
}
Nach dem Login kopieren

Wenn ich versuche, den Mockgen-Befehl auszuführen, anstatt den Mock zu erstellen, erhalte ich diese Hilfebeschreibung: Mockgen verfügt über zwei Betriebsmodi: Quelle und Reflexion. Der Quellmodus generiert Scheinschnittstellen aus Quelldateien. Die Aktivierung erfolgt über das Flag -source. Weitere Flags, die in diesem Modus nützlich sein können, sind -imports und -aux_files.

https://manpages.org/mockgen

Ich habe den folgenden Befehl ausgeführt: mockgen -destination=mocks/mock_myinterface.go -package=mocks demo/interfaces MyInterface

Wie verwende ich den Mockgen-Befehl richtig?


Richtige Antwort


Sie sollten wahrscheinlich den von Uber gepflegten Fork verwenden (seit Google Golang/Mock aufgegeben hat): https://github.com/uber-go/mock

Wenn Sie einfach den Befehl mockgen ausführen, erhalten Sie Befehlsoptionen. Etwas, das für Sie funktionieren sollte, ist Folgendes:

mockgen -source interfaces/interfaces.go -destination mocks/mocks.go
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonMockgen erstellt keine Mocks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage