Модульное тестирование и заглушка C ++ сторонней библиотеки C

Мне нужно выполнить модульное тестирование некоторых написанных мной объектов C ++, использующих стороннюю библиотеку C. По причинам, выходящим за рамки этого вопроса, я не могу вызвать стороннюю библиотеку C напрямую, и мне нужно заглушить ее для набора тестов.

Для других частей нашего модульного теста мы используем googlemock, но я не думаю, что это может быть использовано для C библиотеки. Я могу заглушить библиотеку вручную, но предпочитаю не делать этого (частично из-за лени (она довольно большая), но в основном потому, что это просто вопрос принципов).

Итак, вот мой вопрос: есть ли инструмент, который генерирует заглушенный код на основе C заголовочный файл библиотеки? Как только я получу заглушенный код, я сделаю для него несколько небольших модификаций, а затем добавлю ссылки на него для модульного тестирования.

4

Решение

stubgen может генерировать элементы заглушки из заголовочных файлов, если у вас нет особых требований, он сможет выполнять то, что вы ищете.

3

Другие решения

Вы не можете обернуть эти вызовы в класс, как описано в http://code.google.com/p/googlemock/wiki/CookBook#Mocking_Free_Functions

Затем Вы можете внедрить (динамическим или статическим способом) этот класс и установить ожидание для него.

1

По вопросам рекламы [email protected]