Мне нужно выполнить модульное тестирование некоторых написанных мной объектов C ++, использующих стороннюю библиотеку C. По причинам, выходящим за рамки этого вопроса, я не могу вызвать стороннюю библиотеку C напрямую, и мне нужно заглушить ее для набора тестов.
Для других частей нашего модульного теста мы используем googlemock
, но я не думаю, что это может быть использовано для C
библиотеки. Я могу заглушить библиотеку вручную, но предпочитаю не делать этого (частично из-за лени (она довольно большая), но в основном потому, что это просто вопрос принципов).
Итак, вот мой вопрос: есть ли инструмент, который генерирует заглушенный код на основе C
заголовочный файл библиотеки? Как только я получу заглушенный код, я сделаю для него несколько небольших модификаций, а затем добавлю ссылки на него для модульного тестирования.
stubgen может генерировать элементы заглушки из заголовочных файлов, если у вас нет особых требований, он сможет выполнять то, что вы ищете.
Вы не можете обернуть эти вызовы в класс, как описано в http://code.google.com/p/googlemock/wiki/CookBook#Mocking_Free_Functions
Затем Вы можете внедрить (динамическим или статическим способом) этот класс и установить ожидание для него.