Clion C++ 单元函数测试

Clion C++ 单元函数测试

参考:

  1. https://blog.csdn.net/zhizhengguan/article/details/110313265
  2. https://blog.csdn.net/qq_43533638/article/details/133160638
  3. https://blog.csdn.net/earbao/article/details/116273693

开始写单元测试,是你程序员生涯的新开始!


在CLion中使用C++进行单元测试是一种提高代码质量和可维护性的有效方式。CLion支持多种测试框架,但最常用的之一是Google Test(gtest)。以下是如何在CLion中设置和使用Google Test进行单元测试的步骤:

1. 安装Google Test

首先,你需要确保你的系统上安装了Google Test。如果你使用的是Linux,可以通过包管理器安装,例如在Ubuntu上可以使用:

sudo apt-get install libgtest-dev

然后,你可能需要编译gtest的源代码并安装到你的系统中,因为直接安装的库可能不包含所有需要的头文件或二进制文件。

2. 在CLion中配置项目

  1. 创建项目:首先,在CLion中创建一个新的C++项目。

  2. 添加Google Test

    • 如果你使用的是CMake,你可以通过修改CMakeLists.txt文件来包含Google Test。这通常包括添加gtest的包含目录和链接库。

    • 示例CMakeLists.txt配置(假设gtest已经安装在/usr/local/include/usr/local/lib):

      cmake_minimum_required(VERSION 3.10)
      project(MyProject)
      
      set(CMAKE_CXX_STANDARD 11)
      
      # Google Test
      find_package(GTest REQUIRED)
      include_directories(${GTEST_INCLUDE_DIRS})
      
      add_executable(my_test_executable test/my_test.cpp)
      target_link_libraries(my_test_executable ${GTEST_LIBRARIES} pthread)
      
      enable_testing()
      add_test(NAME MyTest COMMAND my_test_executable)
    • 注意:你需要确保GTEST_INCLUDE_DIRSGTEST_LIBRARIES正确指向你的gtest安装位置。

3. 编写测试用例

在你的项目中创建一个测试文件(例如test/my_test.cpp),并编写你的测试用例。使用gtest的宏(如TEST)来定义测试案例。

#include <gtest/gtest.h>

TEST(MyTestSuite, MyTest) {
    EXPECT_EQ(1, 1);
}

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

4. 运行测试

  • 在CLion中,你可以通过点击运行配置旁边的下拉菜单,选择你的测试目标(例如MyTest),然后点击运行按钮来运行测试。
  • 你也可以在测试文件的左侧看到绿色的运行/调试按钮,点击它也可以运行测试。

5. 查看测试结果

CLion会在底部的“Run”窗口中显示测试结果。如果测试通过,你会看到绿色的成功消息;如果测试失败,则会显示红色的失败信息,并指出问题所在。

6. 调试测试

你可以像调试任何其他C++程序一样调试你的测试。设置断点,单步执行,检查变量等。

通过遵循上述步骤,你可以在CLion中有效地使用Google Test进行C++单元测试。这不仅可以提高你的代码质量,还可以帮助你快速定位和解决潜在的错误。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值