Maison  >  Article  >  développement back-end  >  Existe-t-il un moyen de créer un nouveau contrôleur gomock sans NewController ?

Existe-t-il un moyen de créer un nouveau contrôleur gomock sans NewController ?

WBOY
WBOYavant
2024-02-09 10:03:09732parcourir

有没有办法在没有 NewController 的情况下创建新的 gomock 控制器?

La création de nouveaux contrôleurs est un besoin courant lors de l'utilisation de gomock pour les tests unitaires. Cependant, parfois nous n'avons pas NewController, que devons-nous faire ? La réponse est oui! Dans gomock, nous pouvons simuler un nouveau contrôleur en utilisant un contrôleur fictif. Cette méthode nous permet de créer et d'utiliser un contrôleur factice pour les tests sans instance de contrôleur réelle. De cette façon, nous pouvons tester notre logique de code indépendamment sans être affecté par des ressources externes.

Contenu de la question

Comme le titre l'indique, existe-t-il un moyen de créer un nouveau contrôleur gomock sans NewController ? Les commentaires dans le sac disent

// NewController returns a new Controller. It is the preferred way to create a
// Controller.

Je me demandais s'il existe un moyen de le créer sans constructeur ?

J'ai essayé de nombreuses façons, comme le créer en utilisant new() et attribuer des variables directement, mais le contrôleur ne fonctionne pas new() 创建它并直接分配变量,但控制器无法工作

解决方法

类型 Controller 有一个私有字段 expectedCalls 不能在构造函数之外设置。您需要使用 NewControllerWithContext

Solution de contournement 🎜🎜Le type Contrôleur a un champ privé expectedCalls ne peut pas être défini en dehors du constructeur. Vous devez utiliser la fonction NewController ou WithContext. 🎜

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer