В модульном тестировании фейк - это ограниченная реализация более сложного механизма, выполненная для упрощения процесса. Примером может служить использование объекта класса std::map вместо реальной базы данных. Другими словами, фейк - это упрощенная, но рабочая реализация зависимости тестируемого функционала. Есть два основных способа использовать gmock и gtest для фейков: Пусть мы разрабатываем систему хранения данных, где клиент взаимодействует с базой не напрямую, а через класс DBStorer. Одним из его методов является SaveAndGetData, который сохраняет строку, передаваемую в качестве параметра в базе, и возвращает все сохраненные строки. Это плохой метод с точки зрения принципа единой ответственности, но его вполне можно встретить на практике. Внутри DBStorer сохраненение данных происходит при помощи объекта, реализующего интерфейс хранения IStorage. Для того чтобы протестировать метод SaveAndGetData создаем фейковый класс FakeStorage, наследующий от IStorage и хранящий данные в