Google se Moquer de tests unitaires méthodes statiques en c++

Je viens de commencer à travailler sur les tests unitaires (à l'aide de BOOST cadre pour les tests, mais pour se moque-je utiliser Google Maquette) et j'ai cette situation :

class A
{
static int Method1(int a, int b){return a+b;}
};

class B
{
static int Method2(int a, int b){ return A::Method1(a,b);}
};

Donc, j'ai besoin de créer des maquettes de catégorie A, et de faire de mon classe B de ne pas utiliser de vrais Method1 à partir d'Une classe, mais pour l'utiliser en dérision.

Je ne suis pas sûr de la façon de le faire, et je ne pouvais pas trouver un exemple similaire.

Je ne suis pas familier avec gmock, mais ne pourriez-vous pas tout simplement un lien B.o et mockA.o?
Autant que je sache, il n'y a différentes façon de traiter avec des méthodes statiques. Je pourrais probablement résoudre ce avec faire Method1 virtuel, et pour ajouter un constructeur dans la classe B, de sorte qu'il ressemble à quelque chose comme le B(A &a):a_in_class_b(a), {}, puis appel de Method1 devrait ressembler à ceci : a_in_class_b->Method1(); Mais je veux voir si il ya une autre façon.

OriginalL'auteur Jonhtra | 2012-01-20