googletest简单搭建
主函数
#include "gtest/gtest.h" #include "gmock/gmock.h" int main(int argc, char **argv) { testing::InitGoogleMock(&argc, argv); testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
主cmakelist
cmake_minimum_required(VERSION 3.15) project(Test) set(CMAKE_CXX_STANDARD 14) # 添加头文件 include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/googletest-master/googletest/include ${CMAKE_CURRENT_SOURCE_DIR}/googletest-master/googlemock/include ) # 添加下级目录,生成.a文件 add_subdirectory(./googletest-master) # 添加连接库 link_directories( ${CMAKE_CURRENT_SOURCE_DIR}/lib ${CMAKE_CURRENT_SOURCE_DIR}/googletest-master/googletest ${CMAKE_CURRENT_SOURCE_DIR}/googletest-master/googlemock ) set(SOUCE_FLIES main.cpp add/add.cpp add/add.h add/add_test.cpp) # 指定可执行文件的生成位置 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin") add_executable(Test ${SOUCE_FLIES}) # 将目标文件与库文件进行链接 target_link_libraries(Test gtest gmock)
测试用例:
#include "add.h" #include "gtest/gtest.h" #include "gmock/gmock.h" class AddTest: public testing::Test { public: virtual void SetUp() { puts("SetUp()"); } virtual void TearDown() { puts("TearDown()"); } }; TEST(AddTest,test1 ){ ASSERT_EQ(12,add(4,8)); }
简单的测试函数
int add(int a,int b) { return a+b; }