Maison > développement back-end > Golang > mockgen ne crée pas de simulations

mockgen ne crée pas de simulations

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-02-06 08:45:03
avant
1145 Les gens l'ont consulté

mockgen 不创建模拟

Contenu de la question

Voici la structure de mes dossiers :

demo/
|-- go.mod
|-- main.go
|-- interfaces/
|   |-- interfaces.go
|-- mocks/
Copier après la connexion

Voici mon fichier 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
)
Copier après la connexion

Voici mes interfaces.go

package interfaces

type MyInterface interface {
    DoSomething() error
    GetValue() int
}
Copier après la connexion

Lorsque j'essaie d'exécuter la commande mockgen, au lieu de créer la simulation, cela me donne cette description d'aide : mockgen a deux modes de fonctionnement : source et réflexion. Le mode source génère des interfaces fictives à partir des fichiers sources. Il est activé en utilisant l'indicateur -source. D'autres indicateurs qui peuvent être utiles dans ce mode sont -imports et -aux_files.

https://manpages.org/mockgen

J'ai exécuté la commande suivante : mockgen -destination=mocks/mock_myinterface.go -package=mocks demo/interfaces MyInterface

Comment utiliser correctement la commande mockgen ?


Bonne réponse


Vous devriez probablement utiliser le fork maintenu par Uber (depuis que Google a abandonné golang/mock) : https://github.com/uber-go/mock

Si vous exécutez simplement la commande mockgen, vous obtiendrez des options de commande. Voici quelque chose qui devrait fonctionner pour vous :

mockgen -source interfaces/interfaces.go -destination mocks/mocks.go
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal