Когда у меня есть смоделированный метод, ожидания вызова которого не пройдены, тест все еще проходит.На первый взгляд я подумал, что будет какой-то флаг для управления этим поведением, но я не смог его найти.
В случае, если требуется больше контекста, это происходит со мной с любыми ожиданиями, но какУ меня есть следующий пример, использующий пользовательский Matcher.
// Expectation:
Foo expectedFoo;
Foo foo;
EXPECT_CALL(foo, GenerateEvent(1, FooEq(&expectedFoo)));
//Matcher:
MATCHER_P(FooEq, expected, "")
{
return false;
}
, если вызывается foo.GenerateEvent(1, new Foo)
, ожидание не выполняется должным образом, но тест все равно проходит, как показано ниже (пришлось взломать имена из-завопросы конфиденциальности, надеюсь, я не испортил окончательный результат).
[ RUN ] Test.FooTest
unknown file: error:
Unexpected mock function call - returning directly.
Function call: GenerateEvent(1, 0D386FDC)
Google Mock tried the following 1 expectation, but it didn't match:
Foo.cpp(307): EXPECT_CALL(foo, GenerateEvent(1, FooEq(&expectedFoo)))...
Expected arg #1: foo eq 012FF238
Actual: 0D386FDC
Expected: to be called once
Actual: never called - unsatisfied and active
[ OK ] Test.FooTest (15 ms)