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

mockgen ne crée pas de simulations

WBOY
Libérer: 2024-02-06 08:45:03
avant
1012 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!

source:stackoverflow.com
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