【学习cmake-cookbook/chapter-04/recipe-03/cxx-example-3.5】

文章介绍了如何利用CMake构建项目,并结合googletest框架编写和运行C++的单元测试。通过fetch_git_repo下载googletest代码,然后在CMakeLists.txt中配置编译gtest_main库。测试用例包含在cpp_test可执行文件中,可以通过运行该文件查看测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、代码:cmake-cookbook/chapter-04/recipe-03/cxx-example-3.5 at master · qijitao/cmake-cookbook · GitHub

2、使用方法

(1)下载googletest代码

        

        其中fetch_git_repo是按如下定义的:

        

         

#include "sum_integers.hpp"
#include "gtest/gtest.h"

#include <vector>

int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

TEST(example, sum_zero) {
  auto integers = {1, -1, 2, -2, 3, -3};
  auto result = sum_integers(integers);
  ASSERT_EQ(result, 0);
}

TEST(example, sum_five) {
  auto integers = {1, 2, 3, 4, 5};
  auto result = sum_integers(integers);
  ASSERT_EQ(result, 15);
}

上述代码中InitGoogleTest和RUN_ALL_TEST以及TEST是通过gtest/gtest.h 定义的,具体定义在googletest/src/gtest.cc中,由被gtest_main.cc包含,即gtest_main库(在googletest的CMakeLists.txt中定义)所以编译cpp_test时通过gtest_main库使用它们。

3、如何运行用例

(1)make test可以调用上述编译的cpp_test可执行文件,当做一个大用例执行。

 (2)直接调用编译生成的cpp_test可执行文件:

可以看到cpp_test内部执行的详细情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值