Ich versuche, etwas Schlaf innerhalb .WillOnce vor dem Aufruf von FuncHelper. Also brauche ich etwas Ähnliches wie die folgenden:sleep() rufen Sie innerhalb von gmocks EXPECT_CALL
EXPECT_CALL(*_mock, Func(_,_,_)).Times(1)
.WillOnce(DoAll(InvokeWithoutArgs(sleep(TimeToSleep)),
Invoke(_mock, &M_MyMock::FuncHelper)));
Ist es möglich, mit einem arg innerhalb .DoAll sleep() zu nennen? C++ 98 ist bevorzugt.
UPD:
Die Lösung auf @Smeeheey Antwort basiert und verwendet C++ 98.
template <int N> void Sleep()
{
sleep(N);
}
...
EXPECT_CALL(*_mock, Func(_,_,_)).Times(1)
.WillOnce(DoAll(InvokeWithoutArgs(Sleep<TimeToSleep>),
Invoke(_mock, &M_MyMock::FuncHelper)));
Es ist nicht notwendig, eine eigene Funktion zu definieren, verwenden Sie einfach, was STL zu bieten hat. Siehe meine Antwort, hoffe es hilft! –