J'ai une fonction dont l'appel que je dois détecter par exemplemaquette google - comment EXPECT_CALL sur un nom de variable à savoir identifiant
EXPECT_CALL(MockClass_obj, target_func());
La signature est:
void MockClass::target_func(HANDLE_t handle);
Argument handle
est un type opaque et c'est un ensemble global dans une autre fonction donc oui, je vais devoir le talonner.
Voici le problème: dans la fonction que je teste, je l'appelle MockClass::target_func
avec quelques arguments différents selon les branches prises:
//MockClass inherits Class, call f1() with instance of MockClass
void f1(int a, Class & obj)
{
switch(a):
{
case 0:
obj.target_func(global_handle_1);
break;
case 1:
obj.target_func(global_handle_2);
break;
default:
obj.target_func(global_handle_3);
}
}
QUESTION
Comment dois-je faire Expect appel basé sur le nom de l'argument? J'ai besoin de détecter quel chemin a été pris.
Puisque toutes les global_handle_[x]
variables seront écrasées par exemple mis à la valeur arbitraire, je pouvais les mettre à global_handle_<x>=<x>
puis EXPECT_CALL(MockClass_obj, target_func(<x>));
Je suppose que c'est assez bon mais pour être plus robuste, idéalement, je voudrais EXPECT_CALL sur un nom de variable?
Est-ce possible?