step-by-step 配置 gtest 在 vscode 测试 c/c++(Ubuntu 环境下示范)

news2024/11/25 10:13:20

1. 去把 gtest 装好

详见:CSND-PangCoder-[Ubuntu]GTest安装和测试-https://blog.csdn.net/qq_36251561/article/details/85319547

2. 在 VS Code 打上这几个插件

印象里打上 C++ TestMate 下面的就会自动装了…如果没有就手动装一下
在这里插入图片描述

3. 编写测试脚本

第一步那篇文章有示例
在这里插入图片描述

4. 编写一个Makefile

这样可以批量编译测试脚本,当然我也不会写makefile…只能用最笨的方法写了

hellomake: sample_test.cpp string_test.cpp
	g++ sample_test.cpp -lgtest -lpthread -o ../build/test/sample_test.out 
	g++ string_test.cpp -lgtest -lpthread -o ../build/test/string_test.out -I ../include

其中,-lgtest -lpthreadgtest 要求的,/build/test/ 这个路径是 C++ TestMate 插件要求的。

5. 在首选项里把匹配路径改成合适的

要匹配上刚刚用来导出可执行文件的目录,我在路径最前面加了 **/ ,让项目子目录也能匹配上。
在这里插入图片描述

6. make 一下

在这里插入图片描述

7. 如果上面操作正确的话

测试栏就可以用了
在这里插入图片描述

*. 一个坑

测试文件里尽量不要有其他函数,也不要 include 包含具体函数的其他文件(只引头文件,纯声明文件),不然编译出来可能会错乱。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Pytorch】第 1 章 :强化学习和 PyTorch 入门

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

Java并发常见面试题(三)

并发编程三大特性 原子性 一次操作或者多次操作,要么所有的操作都得到执行并且不受任何因素的干扰而中断,要么都不会执行。 在 Java 中,可以借助synchronized 、各种 Lock 以及各种原子类实现原子性。synchronized 和各种 Lock 可以保证任…

【吴恩达机器学习笔记】十三、异常检测

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。 📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记&…

[附源码]计算机毕业设计人事系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Contest2850 - 【在线编程平台】2022年计算机类数据结构作业12.20221201-1206

问题 A: 二叉排序树 - 文本输出 题目描述 给定一个序列,使用该序列生成二叉排序树(也叫二叉搜索树,BST),然后以本题规定方法输出该二叉排序树。 例: 给定一个序列:43 25 29 67 17 88 54 47 35…

用R语言制作交互式图表和地图

可以直接从R / RStudio制作在线交互式图表和地图。 去年,我们为一位客户进行了短暂的咨询工作,他正在构建一个主要基于在线交互式图表的分析应用程序。 配置 启动RStudio,创建一个新的RScript,然后将工作目录设置为下载的数据文…

git merge origin master和git merge master的区别(个人理解)

先说结论 git merge origin master 意思是当前的分支,进行合并,合并二个分支分别是远程分支master在本地的副本和本地分支的master git merge master 当前分支于本地所处的master分支进行合并 还有就是 git merge origin master是把origin merge 到 master 上的说法是错误的…

小侃设计模式(十五)-命令模式

1.概述 命令模式(Command Pattern)是将一个请求封装为一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。它是行为型模式的一种,能够有效降低系统…

【华为上机真题 2022】流水线

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

ES6:ES6 的内置对象扩展

Array 的扩展方法 扩展运算符(展开语法) 扩展运算符可以将数组或者对象转为用逗号分隔的参数序列。 let ary [1, 2, 3];...ary // 1, 2, 3console.log(...ary); // 1 2 3console.log(1, 2, 3)为什么没有逗号,这个是因为被当做console…

毕业设计-机器视觉的疲劳驾驶检测系统-python-opencv

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

买家的诉求决定你的产品卖点

产品卖点的核心是消费者的诉求,也就是消费者为什么对某个产品有需求。 为什么要用广角镜头?可能要拍比较大、比较宏伟的环境。 为什么要用微距?可能要去拍一些细节场景。 …… 很多时候跟客户对不上,是因为不知道客户具体要做…

挨个排列原子!美国科学家打造出全新量子试验台

11月29日,美国科学家建立了一个原子级精度的测试平台,能以全新的方式操纵电子,在量子计算中有着巨大潜力。电子是微观粒子,可以在材料和设备之间携带电量和信息。它们通常可视为离散的小球,在电路中或原子周围移动。虽…

Git下载安装及环境配置,解决安装包下载慢问题(详细版)

Git是我们平时开发都要用到的项目管理工具,虽然有网页版的Git网站,但是在本地安装Git后,可以直接使用命令语句来进行项目的上传与克隆。还是非常方便的。 今天就来介绍下Git的下载。 git下载安装一、下载二、安装git三种操作界面的简介三、设…

不同应用选择荧光染料 -CY7 ALK脂溶性Sulfo-Cyanine7 alkyne 结构式应用

不同应用选择荧光染料-多肽、蛋白、抗体标记、活体成像 荧光标记技术是指运用荧光染料与待研究对象结合,利用它的荧光特性,提供待研究对象相关信息。荧光标记具有操作简便、高稳定性、高灵敏度等优势,使荧光染料在生命科学研究中应用&#xf…

软件测试之对于测试的反思及思考

1.针对一个页面,从页面的完整性(包括字段、输入框、功能点)出发 2.对于分页,考虑未在首页的时候的测试,末页的情况。 3.对条件的查询来说,要针对于单个输入框的测试、交叉输入框的测试 4.对于删除、修改等,要考虑你…

智慧采购管理系统电子招投标优势浅析,助力建筑工程企业高效做好采购管理工作

随着建筑工程行业的蓬勃发展,竞争也日益激烈。在项目执行过程中,从项目前期投标开始,到项目立项、施工过程、竣工结束的整个过程中,采购活动频繁,且采购类型较多,各项采购金额巨大,如何应用电子…

RK3568平台开发系列讲解(音视频篇)如何把音视频流进行网络传输?

🚀返回专栏总目录 文章目录 一、什么是RTP二、RTP 协议详解三、RTCP 协议详解沉淀、分享、成长,让自己和他人都能有所收获!😄 📢如何将码流打包成一个个数据包发送到网络上,那么我们就需要来了解一下 RTP 和 RTCP 协议。 一、什么是RTP 为了保证传输的实时性,一般使…

[附源码]Python计算机毕业设计Django图书馆出版物预订系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

[附源码]计算机毕业设计基于Springboot影院管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…