Ожидание не удается, но тест все еще проходит - PullRequest
0 голосов
/ 04 июля 2019

Когда у меня есть смоделированный метод, ожидания вызова которого не пройдены, тест все еще проходит.На первый взгляд я подумал, что будет какой-то флаг для управления этим поведением, но я не смог его найти.

В случае, если требуется больше контекста, это происходит со мной с любыми ожиданиями, но какУ меня есть следующий пример, использующий пользовательский 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)
...