建立google Test

简介: 建立google Test

1准备条件

1.1安装gcc

代码语言:javascript

复制

sudo apt-get update
sudo apt-get install g++

1.2 安装CMake

CMake必须高于3.13 ,否则会报CMake 3.13 or higher is required. You are running version 3.XX.X。

1)下载cmake-3.20.3-linux-x86_64.tar.gz

代码语言:javascript

复制

wget https://cmake.org/files/v3.20/cmake-3.20.3-linux-x86_64.tar.gz

2)解压

代码语言:javascript

复制

tar xvzf cmake-3.20.3-linux-x86_64.tar.gz

3)移动到/usr/local/cmake目录

代码语言:javascript

复制

sudo mv cmake-3.20.3-linux-x86_64 /usr/local/cmake

4)编辑环境变量文件

代码语言:javascript

复制

gedit /etc/profile

export PATH=/usr/local/cmake/bin:$PATH

代码语言:javascript

复制

source /etc/profile

5)进入cmake目录

代码语言:javascript

复制

cd /usr/local/cmake

6)查看cmake版本

代码语言:javascript

复制

cmake –version

2 建立google Test

1)到https://github.com/google/googletest获取最新版本的googletest

代码语言:javascript

复制

wget https://github.com/google/googletest/archive/refs/heads/main.zip

2)解压

代码语言:javascript

复制

unzip main.zip

3)进入googletest目录

代码语言:javascript

复制

cd /home/jerry/googletest-main/

4)在CMakeLists.txt 中加入内容

代码语言:javascript

复制

gedit CMakeLists.txt

加入

set(CMAKE_CXX_STANDARD 14)

5)运行

代码语言:javascript

复制

cmake CMakeLists.txt

生成Makefile文件

6)执行make命令

make命令,生成四个静态库:libgtest.a libgtest_main.a,libgmlck.a, libgmock_main.a

代码语言:javascript

复制

find . -name "*.a"

7)安装gmock和gtest到系统:

代码语言:javascript

复制

sudo make install
ls -l /usr/local/lib

7)执行自带测试文件

代码语言:javascript

复制

cd googletest/samples/
g++ ../src/gtest_main.cc sample1.cc sample1_unittest.cc -o test -lgtest -lgmock -lpthread -std=c++14

l../src/gtest_main.cc 主测试文件

lsample1.cc 被测试文件

lsample1_unittest.cc:测试文件

ltest 运行生成文件

lc++14中的14表示C++14标准

8) 运行测试用例

代码语言:javascript

复制

./test
Running main() from ../src/gtest_main.cc
[==========] Running 6 tests from 2 test suites.
[----------] Global test environment set-up.    
[----------] 3 tests from FactorialTest
[ RUN      ] FactorialTest.Negative
[       OK ] FactorialTest.Negative (0 ms)
[ RUN      ] FactorialTest.Zero
[       OK ] FactorialTest.Zero (0 ms)
[ RUN      ] FactorialTest.Positive
[       OK ] FactorialTest.Positive (0 ms)
[----------] 3 tests from FactorialTest (0 ms total)
           
[----------] 3 tests from IsPrimeTest
[ RUN      ] IsPrimeTest.Negative
[       OK ] IsPrimeTest.Negative (0 ms)
[ RUN      ] IsPrimeTest.Trivial
[       OK ] IsPrimeTest.Trivial (0 ms)
[ RUN      ] IsPrimeTest.Positive
[       OK ] IsPrimeTest.Positive (0 ms)
[----------] 3 tests from IsPrimeTest (0 ms total)
           
[----------] Global test environment tear-down
[==========] 6 tests from 2 test suites ran. (0 ms total)
[  PASSED  ] 6 tests.
目录
相关文章
|
1月前
|
Shell 测试技术 索引
test工具的使用,你知道多少?
本文介绍了shell命令测试工具test的基本使用方法,包括文件存在性、属性检查、文件比较、数值和字符串比较及多条件判定等常见应用场景,并提供了具体示例和参数说明。
37 0
|
4月前
|
XML JavaScript 前端开发
一个google Test文件案例
一个google Test文件案例
27 0
|
4月前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
29 0
|
5月前
|
Python
【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】
【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】
|
8月前
|
测试技术 Go 开发者
掌握 go test 命令,写出可信赖的代码
掌握 go test 命令,写出可信赖的代码
166 0
|
8月前
|
Java Spring
解决问题:‘HttpHeaders()‘ 在 ‘com.google.common.net.HttpHeaders‘ 中具有 private 访问权限
解决问题:‘HttpHeaders()‘ 在 ‘com.google.common.net.HttpHeaders‘ 中具有 private 访问权限
104 0
jira项目笔记8-json-server模拟数据
jira项目笔记8-json-server模拟数据
104 0
jira项目笔记8-json-server模拟数据
|
安全
.Net MF V4.0开源前的代码整理
已经有好长一段时间没有更新博客了,一是去美国总部和台湾出差用了不少时间,二是做.Net MF代码整理又花了近一个月的时间。不过令人欣慰的是,目前.Net MF V4.0的相关代码整理已经告一段落,就等着下一步的开源了
673 0
|
JSON JavaScript 前端开发
使用jQue“.NET研究”ry Mobile和JSON创建移动应用程序
  近来移动应用开发迅速受到很多公司的关注,他们寻求为现存的产品和应用程序添加移动展现或者“触点”。即便不是所有,大部分移动应用开发框架也都会适应某种现存的“桌面”开发平台。基于Web的框架则不同。业界当前采用jQuery来创建移动web应用程序(上个月发布了jQuery Mobile Alpha 3)。
895 0
|
Web App开发 XML .NET
Web在线操作Offic“.NET研究”e之Word
  最近公司有个项目,需要直接在IE浏览器中操作Word文档,随后在网上搜了一些资料,感觉都不是很理想。不过,最后还是找到了一个功能比较强的控件,是老外开发的控件,需要注册。还好,没有注册时,只是在页面关闭时弹出一个对话框,如果某人能把它…掉,本人非常感激。
1305 0