Я проверяю, вызывает ли мой класс метод на издеваемом классе с правильным аргументом. Я установил основное математическое ожидание:googlemock matcher для выходных параметров
// mListener is a mocked object
// This expectation accepts any argument
EXPECT_CALL(this->mListener, OnChanged(_))
.Times(1);
Это прекрасно, но я также хочу проверить аргумент. Это объект, который имеет только аксессор, которые используют параметры вывода:
// aValue is an output parameter
HRESULT get_Value(int* aValue);
Как я могу определить Сличитель, который будет проверять значение, которое get_Value
ставит в aValue
?
Отлично, спасибо! На странице кулинарной книги googlemock есть информация о пользовательских сопоставлениях: http://code.google.com/p/googlemock/wiki/CookBook#Writing_New_Parameterized_Matchers_Quickly –
Также я добавил некоторый пользовательский код печати, чтобы, когда тест не прошел, я получаю несколько цифр, а не первые несколько байтов моего объекта. http://code.google.com/p/googletest/wiki/AdvancedGuide#Teaching_Google_Test_How_to_Print_Your_Values –