一、什仫是gtest gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian...
相比较于gtest_add_tests,gtest_discover_tests是通过获取编译后的可执行程序里面的测试用例来达到注册的目的,因此会更鲁棒,在测试用例改变的情况下,不需要重新运行 cmake(其实原理也不神奇,你用编译后的程序运行时加上--gtest_list_tests参数就明白了)。 使用也很简单,在有 GoogleTest 依赖存在的情况下(不知道的...
在本示例中,我们在配置时获取了源代码,但我们也可以在系统环境中安装它们,并使用FindGTest模块来检测库和头文件(cmake.org/cmake/help/v3.5/module/FindGTest.html)。从版本 3.9 开始,CMake 还提供了一个GoogleTest模块(cmake.org/cmake/help/v3.9/module/GoogleTest.html),该模块提供了一个gtest_add_tests...
macro(add_gtest TESTNAME) target_link_libraries(${TESTNAME} PUBLIC gtest gmock gtest_main) if(GOOGLE_TEST_INDIVIDUAL) if(CMAKE_VERSION VERSION_LESS 3.10) gtest_add_tests(TARGET ${TESTNAME} TEST_PREFIX "${TESTNAME}." TEST_LIST TmpTestList) ...
set # properties on the tests flush_tests_buffer() add_command(set "" ${_TEST_LIST} "${tests}") # Write CTest script flush_script() endfunction() if(CMAKE_SCRIPT_MODE_FILE) gtest_discover_tests_impl( NO_PRETTY_TYPES ${NO_PRETTY_TYPES} NO_PRETTY_VALUES ${NO_PRETTY_VAL...
ament_add_gtest(<tests>) endif() (1)检测(Linting) 建议使用来自ament_lint_auto的组合调用,如下所示: find_package(ament_lint_auto REQUIRED) ament_lint_auto_find_test_dependencies() 这会运行package.xml中定义的linters。建议用ament_lint_common软件包定义的linters集合。可以在ament_lint_common文档中...
#include <gtest/gtest.h>TEST(FooTest, Test1) { EXPECT_EQ(1,1); EXPECT_TRUE(3>0); } 4、创建${unit_test}/CMakeLists.txt set(EXECUTABLE_OUTPUT_PATH ../build/bin) include_directories(../include) add_executable(runUnitTests gtest.cpp ...
( googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG release-1.12.0 ) FetchContent_MakeAvailable(googletest) enable_testing() add_executable( testprj testprj.cpp ) target_link_libraries( testprj GTest::gtest_main GTest::gmock ) include(GoogleTest) gtest_discover_tests(...
target_link_libraries(${PROJECT_NAME} gtest src) test/test.cpp #include"gtest/gtest.h"#include"add.h"intmain(intargc,char**argv){testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}TEST(SuiteName,TestName1){intexpected=3;intactual=add(1,2);ASSERT_EQ(expected,actual);}TEST(Suit...
# ADD_SUBDIRECTORY(gtest) # 此处先注释,原因是一开始没有测试工程 一)、写源代码工程 1、建立并进入源代码目录:mkdir src && cd src 2、完成源代码文件编写: 测试文件我们写两个功能,一个为计算模块calc,实现Add功能,一个为字符串模块string_util,实现将字符串转为数字功能 ...