関数呼び出しを検出するためにモックが使用されます。関数オブジェクトが呼び出されるかどうかの単位テスト
#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();
}
f
が機能doit()
で呼ばれていたwheterテストする方法があります:私たちは関数オブジェクトを持つクラスを持っている場合、何が行うことができますか?
呼び出されたときに変更される変数を追加することができます。変更された値があるかどうかを確認します。 – Hayt
Mockでは 'TestHelper'の代わりに' EXPECT_CALL'を – Jarod42