Я ищу способ модульного тестирования моего приложения C++, связанного с исполняемым файлом. Я использую googletest, и мне нужно связать тестовый исполняемый файл с тестируемым двоичным кодом, чтобы проверить этот двоичный файл. Бинарный тест является исполняемым в моем случае. В Windows я могу создать библиотеку импорта для тестируемого исполняемого файла и связать с ним тестовый исполняемый файл. Пока я не экспортирую основную функцию из тестируемого двоичного файла, он работает нормально. Однако в Linux я не могу этого сделать. При непосредственном связывании с тестируемым исполняемым файлом связь не работает, так как есть две основные функции: одна в тестируемом исполняемом файле и одна в тестовом исполняемом файле. И я не знаю, как создать библиотеку импорта в Linux и связать ее.
Я понимаю, что я могу разделить свой протестированный исполняемый файл в общую библиотеку со всеми функциональными возможностями и небольшим исполняемым файлом, в котором есть только основная функция. Программа тестирования будет связана с общей библиотекой. Но это то, что я бы предпочел не делать, так как у меня есть более 20 из этих исполняемых файлов, которые мне нужно протестировать и делить каждый из них в общую библиотеку, а из исполняемого файла слишком много времени.
Другая возможность - добавить тестируемый исходный код в тестовый проект, но затем исходный код будет скомпилирован дважды, что я не могу себе позволить из-за длительного времени сборки.
Поэтому я пытаюсь выяснить, можно ли сделать в Linux что-то похожее на то, что я сделал в Windows.
Заранее спасибо.
Я пытаюсь выяснить, можно ли сделать в Linux что-то похожее на то, что я сделал в Windows.
Нет.