Как включить информацию о покрытии в тестирование VSCODE для проекта CMAKE C ++ (GCC)?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как включить информацию о покрытии в тестирование VSCODE для проекта CMAKE C ++ (GCC)?

Сообщение Anonymous »

Я пытаюсь получить кнопку «Запустить тесты с покрытием», работающую, как и ожидалось, для проекта C ++ на основе Cmake. Когда я нажимаю на него, тесты выполняются должным образом, но затем показывает информацию о том, что файлы информации о покрытии не могут быть найдены. В корневом каталоге у меня есть Cmakelists, которые затем используют add_subdirectory в этих 3. В подразделении Tests Subsion I настроил GCC с помощью target_compile_options () и target_link_options (), чтобы также использовать -Coverage. Тесты добавляются через CTEST, используя GEST_DISCOVER_TESTS (TEST_APP). В редакторе VSCODE я могу легко создать весь проект с помощью расширения CMAKE, а также могу выполнить тесты с тестированием Microsoft. Затем он выполняет все тесты и показывают, если они пройдут или потерпели неудачу и как долго они заняли. Вверху также есть еще одна кнопка «Запустить тесты с покрытием», и я хотел бы увидеть свое тестовое покрытие. Когда я нажимаю на эту кнопку, все тесты выполняются, но затем показывает сообщение «Файлы информации о покрытии для проекта cmake
. Файлы. Я, как я мог бы выяснить, следует искать в каталоге сборки - но я не могу подтвердить это.

Код: Выделить всё

+ project_root
+ CMakeLists.txt
+ library
+ CMakeLists.txt
+ util.cpp
+ tests
+ CMakeLists.txt
+ main.cpp
+ test_component.cpp
+ application
+ CMakeLists.txt
+ main.cpp
< /code>
выше - показанная структура проекта. И ниже приведен cmakelists.txt для тестов. < /P>
cmake_minimum_required(VERSION 3.22)
project(my-tests)

include_directories(${CMAKE_SOURCE_DIR}/library/include)

add_executable(
test_app

main.cpp

test_component.cpp
)

target_link_libraries(
test_app

# Link with Google Test
gtest
gtest_main
pthread
)

target_compile_options(
test_app

PRIVATE
--coverage
)

target_link_options(
test_app

PRIVATE
--coverage
)

include(GoogleTest)
gtest_discover_tests(test_app)
< /code>
и последнее, но не в последнюю очередь вывод, который указывает, что информация о покрытии не была найдена. < /p>
No coverage info files for CMake project /home/myuser/Projects/organization/demo-project. No coverage data will be analyzed for this project.



Подробнее здесь: https://stackoverflow.com/questions/796 ... cc-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»