Dans toute la documentation sur gmock je trouve toujours l'objet fantaisie à instancier dans un test, comme ça:Google Mock: Est-il acceptable d'utiliser des objets fantaisie globaux?
TEST(Bim, Bam)
{
MyMockClass myMockObj;
EXPECT_CALL(MyMockObj, foo(_));
...
}
Ainsi, l'objet est créé et détruit par test. Je crois qu'il est également parfaitement possible de créer et de détruire l'objet par test . Mais je me demande si elle est aussi autorisé à avoir une instance de fichier global de l'objet fantaisie, comme ça:
MyMockClass myMockObj;
TEST(Bim, Bam)
{
EXPECT_CALL(MyMockObj, foo(_))
...
}
Je l'ai essayé et je n'ai absolument aucun problème à ce jour, tout semble fonctionner très bien. Mais peut-être que je devrais être au courant de quelque chose? Juste parce que je suis tombé sur les this question, où la seule réponse précise:
... le problème est que vous instanciation d'une instance globale de FooMock. Googlemock/googletest s'attendent à ce que la maquette soit définie soit dans le corps du test, soit dans une classe de test.
Mais je n'ai rien trouvé dans la documentation ou ailleurs qui le confirme (l'ai-je oublié?).
Merci, Georg
PS: La raison pour laquelle je dois utiliser une instance globale simulée serait le sujet d'une autre discussion (voir this posting de la mine).