Код: Выделить всё
virtual bool getValue(CStringArray& valueOut) const; // reading from database
Соответствующая часть тестового примера:
Код: Выделить всё
CStringArray localArray;
localArray.Add("Only One Element");
EXPECT_CALL(object, getValue(_)).WillOnce(DoAll(
SetArgReferee(localArray),
Return(true)
));
Как я могу изменить возвращаемый массив, используя только фиктивные функции?
Я знаю, что могу создать гибридный макет с реальной функцией, создающей массив, но мне было бы сложнее добавлять собственные элементы в каждый тестовый пример. Что-то вроде:
Код: Выделить всё
struct MockNastyObject : public NastyObject {
MOCK_CONST_METHOD1(getValueMock, bool(CStringArray&));
virtual bool getValue(CStringArray& arr) const override{
arr.Add("Element1");
getValueMock(arr);
}
};
Подробнее здесь: https://stackoverflow.com/questions/724 ... tringarray
Мобильная версия