GoogleTest测试无法启动

时间:2016-04-18 15:08:16

标签: c++ linux googletest

这是我的测试夹具:https://github.com/patrykbajos/ZinotEngine/blob/master/src/tests/core/MapResMgrTest.cpp。 我的可执行文件的CMake文件:https://github.com/patrykbajos/ZinotEngine/blob/master/ZinotEngine.cmake和所有可执行文件https://github.com/patrykbajos/ZinotEngine/blob/master/CMakeLists.txt的CMakeLists。我在Ubuntu上的apt-get软件包libgtest-dev中编译了gtest。接下来,我将* .so文件复制到/ usr / lib并安装了libgtest-dev packege,因为包含文件。我认为我的测试夹具是正确的。没有编译错误。我的执行官通常运行并显示:

/home/patryk/ClionProjects/BennuEngine/bin/Debug/ZinotEngine
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (0 ms total)
[  PASSED  ] 0 tests.
Hello world!!!
Process finished with exit code 0 

我已经为CMake文件添加了一些行,但我认为它不会添加包含用于构建可执行文件的测试的* .cpp文件。这是以下几行:

# Sources
file(GLOB_RECURSE ZINOTENGINE_SRC "src/zinot/core/*.c" "src/zinot/core/*.cpp")
file(GLOB_RECURSE ZINOTENGINETESTS_SRC "src/tests/*.cpp")

if (CMAKE_BUILD_TYPE EQUAL "Debug")
    message("Debug << dodawanie testów.")
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC} ${ZINOTENGINETESTS_SRC}")
endif ()

# Binary
add_executable(ZinotEngine ${ZINOTENGINE_SRC})

这是我的整个代码存储库:https://github.com/patrykbajos/ZinotEngine

PS。我正在使用Configuration: Debug上的Build All通过CLion编译我的项目。

1 个答案:

答案 0 :(得分:0)

我发现了这个错误。它在:

if (CMAKE_BUILD_TYPE EQUAL "Debug")
    message("Debug << dodawanie testów.")
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC} ${ZINOTENGINETESTS_SRC}")
endif ()

应该是:

if (CMAKE_BUILD_TYPE MATCHES Debug)
    #message("Debug << dodawanie testów.")
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC};${ZINOTENGINETESTS_SRC}")
endif ()

我虽然源文件的分隔符是空格但是它是分号。