GoogleTest+VS code编译和编写简单测试用例

前言

在B站看了非常多Gtest的教学视频,CSDN上gtest博客也特别多,但是都非常陈旧或者根本不是用vscode。本篇目的在于,说明如何在vscode上编写简单单元测试。
软件:vscode 2023

一、安装gtest

  1. 下载googletset源码:git clone https://gitcode.net/mirrors/google/googletest.git
    原repo:https://github.com/google/googletest下载特别慢,用上面镜像就好镜像
  2. cd googletest
  3. mkdir build && cd build
  4. cmake -DCMAKE_CXX_STANDARD=17 …
  5. make
  6. sudo make install

二、 编译gtest与运行单元测试

第一种编译方式

  1. 配置文件
    建立gtest_example工程文件夹,下面新建两个文件夹include、src。
    把第二步编译好的googletest中的googletest/include/gtest文件夹拷贝到gtest_example/includegoogletest/include/gmock文件夹拷贝到gtest_example/include/googletest/build/lib文件夹拷贝到gtest_example/
    gtest_example/src文件夹下新建main.cpp,main.cpp内容如下:
    (单元测试如何写,自行百度,内容太复杂。)
#include <gtest/gtest.h>
#include <iostream>
using namespace std;

int add(int a,int b){
    return a+b;
}

TEST(testCase1,test_add_method){
    EXPECT_EQ(add(1,2),3);
}

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

gtest_example/文件夹下新建CMakeLists.txt,CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 3.21)
project(gtest_gmock)

include_directories(./include DIR_INC)
set(CMAKE_CXX_STANDARD 17)
link_directories(./lib)
add_executable(gtest_gmock src/main.cpp)

target_link_libraries(gtest_gmock libgtest.a libgtest_main.a pthread)

在这里插入图片描述
2. 编译和运行
依次点击vscode下方工具条1(选择“debug模式”)和2,完成编译;点击3,运行。
在这里插入图片描述
运行结果:
在这里插入图片描述

第二种编译方式

在src上新建main.cpp,内容如上。cd srcg++ main.cpp -lgtest -pthread完成编译。在src文件夹生成了a.out文件,执行./a.out实现单元测试。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
编写测试用例时,使用GoogleTest有一些注意事项需要注意。 首先,测试用例的命名应当具有描述性,以便于其他开发人员能够快速了解该用例的目的和功能。使用清晰、简明的命名可以提高代码的可读性和可维护性。 其次,在编写测试用例时,需要尽量覆盖不同的测试场景和边界情况。对于需要测试的每个功能点,都应编写至少一个对应的测试用例。这样可以确保代码的质量和稳定性。 另外,测试用例应当尽量独立。不同的测试用例之间不应该有依赖关系,每个测试用例的执行结果应该独立于其他测试用例的执行。这样可以防止测试用例之间相互影响,提供更准确的测试结果。 同时,测试用例应该考虑到不同平台和环境的差异。在编写测试用例时,要注意不同操作系统、不同编译器可能存在的差异性,确保代码在不同环境下的稳定性和可靠性。 最后,编写测试用例时,要注意异常处理和错误信息的输出。测试用例应当包括对异常情况的测试,以确保程序在异常情况下能够正确处理。此外,测试用例的错误信息应当清晰明了,便于开发人员排查和定位问题。 总而言之,编写测试用例时,要注意命名清晰、覆盖全面、独立性、平台适应性、异常处理和错误信息输出等方面。这些注意事项可以帮助开发人员编写高质量、可靠性强的测试用例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值