Évitez de faire correspondre plusieurs fois .WillOnce dans Google Mock
J'ai une maquette de l'objet de configuration qui ressemble à ceci:
MyObject obj;
EXPECT_CALL(obj, myFunction(_))
.WillOnce(Return(1))
.WillOnce(Return(1))
.WillOnce(Return(1))
.WillRepeatedly(Return(-1));
Est-il un moyen pour ne pas avoir à répéter .WillOnce(Return(1))
trois fois?
source d'informationauteur UXkQEZ7
Vous devez vous connecter pour publier un commentaire.
À des fins d'exhaustivité, il y a un autre standard/option simple, si l'on a accepté la réponse semble claire dans ce cas.
Cela peut être utile si vous savez ce que vous voulez que votre dernier/réponse par défaut (
-1
), mais envie de coucher avec le nombre de fois qu'elle est appelée avant.J'ai peur, il n'y a pas d'autre moyen de configurer ce comportement. Ne pouvez pas trouver un moyen évident de la documentation au moins.
Vous aurez peut sortir de ce problème en introduisant un approprié défini par l'utilisateur matcher bien, qui garde la trace d'un appel de comte et de seuil que vous pouvez fournir à partir de votre cas de tests via les paramètres de modèle (ne sais pas vraiment comment provoquer la
ResultType
automatiquement 🙁 ):Utilisation puis de s'attendre à un certainement compté résultat de l'appel:
NOTE
Je n'ai pas vérifier ce code fonctionne comme prévu, mais il devrait vous guider dans la bonne direction.