Mocks werden verwendet, um Funktionsaufrufe zu erkennen. Was kann getan werden, wenn wir eine Klasse mit einer Funktion zum Gegenstand haben:Unit-Test, ob ein Funktionsobjekt aufgerufen wird
#include <functional>
#include <iostream>
using namespace std;
class A {
public:
A(){};
void doit(){
//...
if(f)
f();
//...
}
function<void()> f;
};
int main(){
A a;
a.f = []() { cout << "hello\n"; };
a.doit();
}
Gibt es eine Möglichkeit zu testen wheter f
in Funktion doit()
genannt wurde?
können Sie eine Variable hinzufügen, die sich beim Aufruf ändert. und dann prüfen, ob es den geänderten Wert hat. – Hayt
Mit Mock haben Sie 'EXPECT_CALL' – Jarod42