Nieciekawe próbne wywołanie funkcji bla () && Oczekiwane: aby wywołać co najmniej raz bla ()?
Napisałem mały test z wyśmiewaną klasą. Kiedy go uruchomię, najpierw otrzymuję ostrzeżenie, że wywołano nieciekawą funkcję próbną, a następnie test kończy się niepowodzeniem, ponieważ oczekiwanie nie jest spełnione, co oznacza, że szydercza funkcja jest wywoływana przynajmniej raz. Zabawne jest to, że ta funkcja jest wywoływana, ponieważ widzę powyższy komunikat ostrzegawczy.
Czy masz jakieś pomysły na ten temat?
Dziękuję Ci!
Edytuj: To jest moja struktura kodu:
class Bla {
public:
Bla();
virtual ~Bla();
virtual float myFunction();
}
class MockBla : public Bla {
MockBla();
~MockBla();
MOCKMETHOD0(myFunction, float());
}
class CallerClass {
public:
CallerClass() { MockBla* myMock = new MockBla(); }
virtual ~CallerClass();
myCallingFunction() { myMock->myFunction(); }
}
class MyTestClass : public ::testing::Test {
//....
TEST(myTest, testMyFunction) {
MockBla mockBla;
EXPECT_CALL(mockBla, myFunction()).Times(AtLeast(1));
CallerClass* callerClass;
callerClass = new CallerClass();
callerClass->myCallingFunction();
}
//....
}
Wynik:
[ RUN ] MyTestClass.testMyFunction
GMOCK WARNING:
Uninteresting mock function call - returning default value.
Function call: myFunction()
Returns: 0
Stack trace:
MyTestClass.cpp:99: Failure
Actual function call count doesn't match EXPECT_CALL(mockBla, myFunction())...
Expected: to be called at least once
Actual: never called - unsatisfied and active