Я пытаюсь создать каркас модульного тестирования, используя CPPUnit для большой базы кода. Мне нужно иметь возможность тестировать отдельные модули, которые являются частью дерева модулей, которое начинается с определенного корневого модуля.
По нетехнической причине я не могу коснуться рабочего файла (мой первоначальный подход заключался в добавлении ifdef в корневой модуль). Поэтому я подумал о другом подходе, который заключается в создании копий заголовков корневых модулей, а также копий заголовков, принадлежащих модулям в иерархии промежуточного наследования. Из-за количества задействованных модулей, а также размера источника каждого модуля. Я ищу способ автоматически сделать это для меня.
Так что для foo.h и foo.cpp я ищу какой-то инструмент, который будет выводить fooTest.h, где fooTest.h содержит объявление И определение всего, что находится foo.cpp / foo.h
РЕДАКТИРОВАТЬ: Спасибо за ответы, я забыл упомянуть, что содержимое fooTest.h не должно быть результатом объединения foo.cpp и foo.h. Мне нужно внести небольшие изменения в корневой файл fooTest.h, чтобы сделать его подходящим для тестирования. Таким образом, простое использование включений не будет работать. Я посмотрю на объединение файлов и посмотрим, решит ли это мою проблему.