Właśnie rozpoczął prace nad testów jednostkowych (za pomocą ramy impuls dla testowania, ale dla mocks muszę używać Google Mock) i mam taką sytuację:Google Mock testowania jednostka metody statyczne 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);}
};
Więc muszę stworzyć fałszywą klasę A i sprawić, że moja klasa B nie użyje prawdziwej Metody 1 z klasy A, ale żeby użyć mocku.
Nie jestem pewien, jak to zrobić i nie mogłem znaleźć podobnego przykładu.
nie jestem zaznajomiony z gmock, ale nie można po prostu połączyć 'B.o' i' mockA.o'? – Beta
O ile mi wiadomo, istnieje inny sposób radzenia sobie z metodami statycznymi. Prawdopodobnie mógłbym rozwiązać ten problem, dodając, że metoda 1 jest wirtualna i dodaje konstruktor w klasie B, więc wygląda na B (A & a): a_in_class_b (a) {}, a następnie wywołanie metody 1 będzie wyglądać tak: a_in_class_b -> Metoda1(); Ale chcę sprawdzić, czy jest jakiś inny sposób. – Jonhtra