enable_testing()
add_executable(test_add test/c/test_add.c)
add_executable(test_minus test/c/test_minus.c)
target_link_libraries(test_add math)
target_link_libraries(test_minus math)
add_test(NAME test_add COMMAND test_add 10 24 34)
add_test(NAME test_minus COMMAND test_minus 40 96 -56)
通过使用gtest可以简化这个流程,让开发者可以专注在测试用例的书写上,而不用手动编写大量的main函数,以及一些判断输出是否符合预期的附加代码。
三 集成gtest
1 将gtest源码加入项目
gtest是一个开源的框架,代码位于github仓库:google/googletest,本文介绍直接将gtest加入到项目中,通过CMake编译使用。
首先在项目根目录新建一个third_party目录,下载源码的最新release版本,并解压:
# mkdir third_party
# cd third_party
# wget https://codeload.github.com/google/googletest/zip/refs/tags/release-1.10.0
# unzip googletest-release-1.10.0.zip
2 将gtest添加为子模块
修改项目根目录的CMakeLists.txt文件,使用上一篇文章介绍的命令add_subdirectory,在开启单元测试时,添加gtes