Какова функция .WillOnce(Return (n)) в макете Google?

#c #googletest #googlemock

#c #googletest #googlemock

Вопрос:

 EXPECT_CALL(turtle, GetX())
.WillOnce(Return(100))
  

Какова функция вышеупомянутого действия .WillOnce(Return(100))? Проверяет ли он, что значение 100 возвращается ровно один раз из getX()? Или это заставляет функцию getX() возвращать значение 100?

Комментарии:

1. Что конкретно вы пропустили из справочной документации Google Mock?

2. Ответ на этот вопрос

Ответ №1:

Как объясняется в документах gmock, это приведет к сбою теста, если метод GetX в макете turtle НЕ будет выполнен ровно один раз (см. «Количество элементов: сколько раз он будет вызван»). В противном случае тест пройдет (если он не завершится неудачей в какой-либо другой точке), и GetX метод вернется 100 везде, где он был вызван.