我正在使用CLion在我的大学C ++项目上工作,并尝试添加一些示例测试代码。我从GitHub中加入了最新的Google Test框架。我有源和测试的单独目录。问题是编译器没有看到测试。我得到信息“空测试套件。”,虽然正确调用了主要功能。
我的目录如下所示:
- root
- src
- tests
* tests/components/ColorTest.cpp
* gtest.cpp
* CMakeLists.txt
- CMakeLists.txt
以下是代码:
的CMakeLists.txt
cmake_minimum_required(VERSION 3.7)
project(SI_lab_2)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
include_directories(src)
include_directories(tests)
add_subdirectory(src)
add_subdirectory(tests)
测试/的CMakeLists.txt
cmake_minimum_required(VERSION 3.7)
project(tests)
add_subdirectory(lib/googletest)
enable_testing()
include_directories(${gtest_SOURCE_DIR_}/include ${gtest_SOURCE_DIR_})
set(SOURCE_FILES
gtest.cpp
tests/components/ColorTests.cpp)
add_executable(tests_run gtest.cpp)
target_link_libraries(tests_run gtest gtest_main)
add_test(eq tests_run)
测试/检验/组件/ ColorTests.cpp
#include <gtest/gtest.h>
TEST(ColorTests, eq)
{
EXPECT_EQ(1, 0);
}
TEST(ColorTests, noteq)
{
EXPECT_NE(1, 0);
}
测试/ gtest.cpp
#include <gtest/gtest.h>
int main(int argc, char* argv[])
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
希望你能帮忙!
答案 0 :(得分:2)
在 tests / CMakeLists.txt 中,您应该通过 add_executable(tests_run $ {SOURCE_FILES}) add_executable(tests_run gtest.cpp) 。您编写的测试未编译,因为您忘记将其添加到 add_executable