Я использую QT Creator для работы над проектом среднего размера на C++.Создание тестового покрытия статической библиотеки C++, вызываемой отдельными тестовыми классами
Структура проекта в основном выглядит следующим образом
проекта
- Группа A
- Библиотека A1
- Группа B
- Библиотека B1
- Библиотека B2
- ... и т.д.
Тест
- LibA1_Test
- LibB1_Test
- LibB2_Test
- ... и т.д.
- Группа A
библиотеки тестируется исполняемыми в тестовом проекте. Мне удалось скомпилировать сами тесты с включенными gcov и создавать отчеты о покрытии кода с помощью lcov, но все, что они показывали для покрытия, были тестовыми примерами, а не фактическим кодом, который я тестирую. Я также пытался скомпилировать статические библиотеки с помощью gcov, но когда я запускаю тесты против этих библиотек, он не генерирует никаких выходных файлов gcov.
Как я могу генерировать выходные файлы gcov, связывая библиотеки проектов с тестами? Я хочу посмотреть, есть ли пробелы в модульных тестах.
Поскольку я специально с помощью Qt Creator чтобы построить свой проект, я просто хотел добавить, какие шаги я должен был предпринять. В моих тестовых приложениях я добавил: 'QMAKE_CXXFLAGS + = -g -Wall -fprofile-arcs -ftest-coverage -O0' и' QMAKE_LFLAGS + = -g -Wall -Wl,-whole-archive -lLibA1 -Wl, - no-whole-archive -fprofile-arcs -ftest-coverage -O0' в .proj-файл, а также 'LIBS + = -lgcov'. Если вы не укажете библиотеки для включения во всю команду архива, а затем не забудьте закрыть ее, вы получите много ошибок. – alayers2