3

这是我的 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时,我做错了什么 ?

4

0 回答 0