Ho appena iniziato a lavorare su test di unità (utilizzando il framework BOOST per il test, ma per deride devo utilizzare Google Mock) e ho questa situazione:metodi statici di unit test Google Mock C++
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);}
};
Così, ho ho bisogno di creare una classe di simulazione A, e di fare in modo che la mia classe B non utilizzi il Metodo1 reale dalla classe A, ma di usare la simulazione.
Non sono sicuro di come farlo e non ho trovato alcun esempio simile.
io non sono a conoscenza gmock, ma non poteva basta collegare '' B.o' e mockA.o'? – Beta
Per quanto ne so, c'è un modo diverso di gestire i metodi statici. Probabilmente potrei risolvere questo problema rendendo il Method1 virtuale e aggiungendo il costruttore in classe B, quindi sembra qualcosa di simile a B (A & a): a_in_class_b (a) {}, e quindi la chiamata di Method1 sarebbe simile a questa: a_in_class_b -> Metodo 1(); Ma voglio vedere se c'è un altro modo. – Jonhtra