之所以题目叫记录,是因为实在没什么难度。想搞个有意思的事情,前提是要搭好一套开发环境,所以有了这篇记录。
首先是下载gtest。gtest是谷歌开源的测试框架,地址https://github.com/google/googletest/,说是用git clone可以下下来,实际上git要下载很多除了代码之外的东西,导致要下的内容非常多,而github下载网速又很差,10分钟左右就自动断了,去CSDN下载还要钱。只好去github下载发布版本,打包之后大约1M。总算成功下载到了。
解压后
cd googletest
mkdir build
cd build
cmake ..(新系统没装cmake,按照提示装一个)
make -j8
sudo make install
测试一下test.c文件:
#include
执行g++ test.c -lgtest -lpthread,生成a.out,运行a.out,输出结果如下:
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from testCase
[ RUN ] testCase.test0
[ OK ] testCase.test0 (0 ms)
[----------] 1 test from testCase (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
gtest成功搭建完毕。
总用文本写代码毕竟体验不好,特别是带了测试框架写代码,找个IDE更好进行多文件管理。首先想到了eclipse,但是应用商店下载的有问题,官网又打不开(联通的什么破网),转而想用vscode。vscode的麻烦在于很多东西要自己配置,下载最新版vscode(2020年5月16日下载1.45.1版本),安装后,terminal执行code即可打开vscode。
首先修改launch.json,一般这种配置文件不可完全按照网上搜的照抄,比如下面这个文件,不少文章都说要改,仔细一看其实原始内容已经不一样了,微软应该已经改了部分bug,我印象下面这个东西我没改:
"version"
再修改tasks.json,这里有一个label,要跟launch.json里的preLaunchTask对应,下载下来的文件里这个label:"build gcc build active file",多了个build,这会导致调试报错说找不到"gcc build active file",这个报错没搜到结果。
下面根据gtest的要求修改args,也就是在最后加上-lgtest和-lpthread,并把gcc替换成g++:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "gcc build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
"-lgtest",
"-lpthread"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$g++"
],
"group": "build"
}
]
}
配置完毕。把加法改成减法,试试能不能用例失败: