Это мои файлы cmake, которые создают двоичные файлы, которые имеют только модульные тесты:
cmake_minimum_required(VERSION 3.2)
set(MODULE_NAME UnitTests)
set (CMAKE_CXX_STANDARD 11)
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/../MyProject)
set(SOURCE_EXE tests.cpp ../MyProject/SomeClass1.cpp ../MyProject/SomeClass2.cpp )
add_executable(${MODULE_NAME} ${SOURCE_EXE})
target_link_libraries(${MODULE_NAME} ${GTEST_LIBRARIES} pthread)
в тестах cpp:
#include "SomeClass1.h"#include "SomeClass2.h"#include <gtest/gtest.h>
using namespace std;
TEST(testcase1, test1)
{
SomeClass1 s1;
//test some functions from SomeClass1
}
TEST(testcase2, test1)
{
SomeClass2 s2;
//test some functions from SomeClass2
}
Я строю проект с юнит-тестами, используя cmake, а затем я использовал утилиту kcov:
kcov /home/myuser/kcov/ UnitTests
и это показало мне 0,0% покрыты
Что я делаю не так, когда пользуюсь этой утилитой https://github.com/SimonKagstrom/kcov ?
Задача ещё не решена.
Других решений пока нет …