前言 google test(以下简称gtest)是谷歌的开源C++单元测试框架,用来做c/c++的单元测试比较方便。下面对于它在linux下的使用环境搭建做简单介绍。...准备gtest框架 在github网站下载gtest框架 https://github.com/google/googletest 解压后,进入googletest目录。...文件: g++ -o gtest.o -I..../src/gtest-all.cc 再生成.a静态库文件: ar -rv libgtest.a gtest.o 生成的libgtest.a以及该目录include下的头文件都是我们后面测试需要的,...同时,在该目录下创建以下三个目录 ├── gtest //存放gtest框架内容 ├── leetcode //存放项目源代码 ├── testcase
Google C++单元测试框架(简称Gtest),可在多个平台上使用(包括Linux, Mac OS X, Windows, Cygwin和Symbian),它提供了丰富的断言、致命和非致命失败判断,...在对输出结果进行检查(check)时,Gtest为我提供了一系列的断言(assertion)来进行代码测试,这些宏有点类似于函数调用。...Gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。...因为GTest源码中需要使用下划线把它们连接成一个独立的类名 这样也就要求,我们不能有相同的“测试套件名和特例名”的组合——否则类名重合。...预处理事件机制 gtest 提供了多种预处理事件机制,非常方便我们在测试之前或之后做一些操作。 1. 全局的,所有测试执行前后。 2.
前言 Google mock(以下简称gmock)和Google Test(以下简称gtest)是google的开源项目,他能够在测试中起到“打桩”的作用。...举个例子,有A模块需要调用B模块,需要对A模块进行测试,但是B模块没有实现,那么就可以利用gmock和gtest对B模块进行打桩测试,来模拟B接口的实现测试A接口。...本文主要介绍gmock和gtest在linux中的环境搭建。...准备gtest框架 (1) 获取gtest框架 命令行模式下输入: git clone https://github.com/google/googletest 进入googletest目录,目录有以下内容...可以看到,共有两个用例,通过了两个用例例子中,暂时未使用到gmock,只介绍了gmock和gtest的环境搭建,gmock的具体用法不在此展开。
name=gtest-1.7.0.zip&can=2&q=下载最新的gtest-1.7.0版本 在Windows下编译gtest步骤: (1)、将gtest-1.7.0.zip进行解压缩; (2)、用vs2010...打开msvc目录下的gtest.sln工程,需要进行转换,生成gtest、gtest_main、gtest_prod_test、gtest_unittest四个工程; (3)、分别在Debug和Release...下,选中Solution ‘gtest’,点击右键,执行Rebuild Solution,会在msvc/gtest/Debug下生成gtestd.lib、gtest_maind.lib库,在msvc/gtest...在Ubuntu下编译gtest步骤: 在gtest-1.7.0.zip目录下,依次执行: unzip gtest-1.7.0.zip; cd gtest-1.7.0; ....文件夹下,输入命令:python fuse_gtest_files.py fused_gtest ;会在/scripts文件夹下生成一个fused_gtest/gtest文件,里面包含gtest.h和
/src/gtest_main.cc ar rv gtest_main.a gtest-all.o gtest_main.o ar: creating gtest_main.a a –...GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \ $(GTEST_DIR)/include/gtest/internal/*.h # House-keeping...: $(GTEST_SRCS_) $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \ $(GTEST_DIR)/src/gtest-all.cc gtest_main.o...: $(GTEST_SRCS_) $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \ $(GTEST_DIR)/src/gtest_main.cc gtest.a.../src/gtest_main.cc ar rv gtest_main.a gtest-all.o gtest_main.o ar: creating gtest_main.a a – gtest-all.o
2.创建连接库 生成gtest-all.o : g++ -isystem gtest/include -I..../gtest/src/gtest-all.cc 生成gmock-all.o : g++ -isystem gtest/include -I./gtest -isystem ..../local目录 将gmock-1.7.0/gtest/include下面的gtest目录拷贝到/usr/local/include下 cp gmock-1.7.0/gtest/include/gtest.../samples/sample1_unittest.cc /usr/src/gtest/src/gtest_main.cc /usr/src/gtest/src/gtest-all.cc -I/usr...与CxxUnit比,gtest不要求Python等外部工具的存在。与Boost.Test比,gtest更简洁容易上手,实用性也并不逊色。
###GoogleTest在Ubuntu下的安装及编译: 安装: sudo apt-get install libgtest-dev cd /usr/src/gtest sudo cmake . sudo...See comments in include/gtest/internal/gtest-port.h for more information....:列出所有测试名称 --gtest_filter:过滤器,仅运行全名与过滤器匹配的测试,格式为以”:“分隔的列表,可以在最后加一个”-“和”:”分隔的列表,表示负模式,*匹配任何字符串,?...--gtest_also_run_disabled_tests:执行被禁用的测试 --gtest_repeat=num:重复所有测试方法num次 --gtest_shuffle:洗牌测试 --gtest_output...设置为shard总数,所有shard上该设置相同,同时每一个shard上GTEST_SHARD_INDEX设置为索引,所有shard不同,且必须在0-(GTEST_TOTAL_SHARDS-1)范围内,
文件 因为我的VS是2017版,下载的gtest对应的是2010版,所以打开会提示选择目标SDK版本和升级平台工具集,点确定即可。...先在debug模式下编译gtest,直接编译会提示找不到SDK 8.1版本: ? 按提示选择“重定项目目标”: ? 完成后编译就能成功了: ? ?...相同的步骤,再编译gtest_main工程,再切换为release模式,编译gtest和gtest_main,?...\msvc\2010\gtest\Win32-Release文件夹会产生两个.lib文件: 把编译得到的gtest.lib,gtestd.lib,?...gtest_main.lib,?gtest_maind.lib 都放到gtest根目录的lib文件夹下(lib和include位于同一级,如果没有就新建一个lib文件夹)。
目录 1.编译及学习资料 1.1编译gtest 1.2学习文档及资料 2.gtest总结 2.1gtest中的术语 2.2断言 2.2.1基本断言 2.2.2Binary Comparison...浮点数比较 2.12自定义设置可接受的范围 2.13gMock Matchers 2.14类型断言(type assertions) 2.15Death Test ---- 1.编译及学习资料 1.1编译gtest...与 gtest_maind.lib/gtest_main.lib的区别?...https://stackoverflow.com/questions/6457856/whats-the-difference-between-gtest-lib-and-gtest-main-lib.../gtest_maind.lib gtest进阶(Advanced googletest Topics) https://github.com/google/googletest/blob/master
DISABLED_ 前缀 –gtest_repeat=[COUNT] ::testing::FLAGS_gtest_repeat(int32_t) 设置案例重复运行次数–gtest_repeat=-1...无限次数执行–gtest_repeat=1000 –gtest_break_on_failure 重复执行1000次,并且在第一个错误发生时立即停止–gtest_repeat=1000 –gtest_filter...=FooBar 重复执行1000次测试案例名称为FooBar的案例 –gtest_shuffle ::testing::FLAGS_gtest_shuffle(bool) 随机运行测试 –gtest_random_seed...FLAGS_gtest_color(std::string) 是否输出颜色,有三种选项,“yes”, “no”,“auto” –gtest_brief=1 ::testing::FLAGS_gtest_brief...json或xml文件中–gtest_output=xml: 不指定输出路径时,默认为案例当前路径–gtest_output=xml:d:\ 指定输出到某个目录–gtest_output=xml:d:\foo.xml
Linux(七) 發佈於 2019-07-19 本篇,我们在来说一下在 Linux 下,有关进程和内存与磁盘的相关知识。...(SELinux,Security-Enhanced Linux)是一个 Linux 内核的安全模组,其提供了访问控制安全策略机制。...内存与磁盘 查看内存和磁盘的使用率 内存查看常用指令: top free 磁盘查看常用指令: fdisk df du ext4 文件系统 Linux 支持多种文件系统,常见的有: ext4,xfs,...inode 号码 每个 inode 都有一个号码,Unix/Linux 系统内部不使用文件名,而使用 inode 号码来识别文件。 表面上,用户通过文件名,打开文件。...但是,Unix/Linux 系统允许,多个文件名指向同一个 inode 号码。
gtest初识总结 本文以结合gtest github内容进行学习gtest。...gtest github地址 gtest编译 g++ xx.cpp xx.h -lgtest -lpthread -o main gtest编写 创建测试的一个简易的步骤: 1.使用TEST()..._H_ #define GTEST_SAMPLES_SAMPLE1_H_ // Returns n!...return true; } sample1_unittest.cc #include #include "sample1.h" #include "gtest/gtest.h".../gtest.h> using namespace std; GTEST_API_ int main(int argc, char **argv) { printf("Running main
使用 cmake 启动并运行 gtest 1....举例来说,在 my_project 目录中创建一个名为 hello_test.cc 的文件: vim hello_test.cc 内容如下: #include gtest/gtest.h> //...::gtest_main ) # 包含 GoogleTest 模块 include(GoogleTest) # 使用 gtest_discover_tests 函数来自动发现并添加测试 gtest_discover_tests...1. gtest 入门 使用 gtest 时,首先要会编写断言(assertions),这些是检查条件是否为真的语句。...当一个断言失败时,gtest 会打印断言的源文件和行号位置,以及一个失败消息。你还可以提供一个自定义的失败消息,它将附加到 gtest 的消息中。
gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。 了解了什仫是gtest之后下面让我们来学习gtest的一些使用规则吧!...二、gtest系列之断言 gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。...五、一个关于gtest的简单例子 #includeusing namespace std;#includegtest/gtest.h> struct LinkNode{int _data...main(int argc,char *argv[]){testing::InitGoogleTest(&argc,argv);return RUN_ALL_TESTS();} 以上测试用例都是在Linux...系统下测试的,读者需自行在Linux下安装gtest。
准备gtest框架 在github网站下载gtest框架https://github.com/google/googletest 解压后,进入googletest目录,目录下有以下内容 ├── build-aux...scripts ├── src ├── test └── xcode 现在我们需要获得gmock的.a文件 进入googlemock的make文件夹,执行make,再执行 ar -rv libgmock.a gtest-all.o...gmock中已经包含了gtest的库,因此只需要gmock就可以使用gtest的所有测试功能。 新建测试项目 新建项目目录,比如我创建了一个TestWithGtest目录。...同时,在该目录下创建以下三个目录 ├── gmock //存放gtest框架内容 ├── leetcode //存放项目源代码 ├── testcase //存放测试用例代码 └── Makefile.../gtest.h" 编译链接 测试之前,需要编译并链接我们得项目代码和测试框架。
来源:http://www.uml.org.cn 安装GTest 1、安装源代码 下载gtest,release-1.8.0 git clone https://github.com/google/googletest...可以写一个简单的测试代码如下: #includegtest/gtest.h>int add(int a,int b){return a+b;}TEST(testCase,test0){EXPECT_EQ...GTest的断言 1、布尔值检查 ? 2、数值型数据检查 ? 3、字符串比较 ? 4、异常检查 ? 5、浮点型检查 ? 对相近的两个数比较: ?...TearDown()方法在每个TestCase之后执行 以下案例解决说明上述三个事件的使用 #includegtest/gtest.h> #include #include<iostream...(官方文档上的案例) #includegtest/gtest.h> // Returns true iff n is a prime number. bool IsPrime(int n) { //
gtest下载与安装 https://github.com/google/googletest git clone https://github.com/google/googletest.git...cd googletest mkdir build cmake .. make sudo make install 以上命令会将gtest编译好,并将静态链接库放在/usr/local/lib 目录下...的动态链接库,在编写gtest的时候只需要链接这些文件就可以使用gtest。...检查是否安装成功 可以写一个简单的测试代码如下: #includegtest/gtest.h> int add(int a,int b){ return a+b; } TEST(testCase.../gtest.h> int main(mai nint argc, char **argv) { printf("Running main() from gtest_main.cc\n");
gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。 了解了什仫是gtest之后下面让我们来学习gtest的一些使用规则吧!...---- 二、gtest系列之断言 gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。...五、一个关于gtest的简单例子 #include using namespace std; #includegtest/gtest.h> struct LinkNode { int...argc,char *argv[]) { testing::InitGoogleTest(&argc,argv); return RUN_ALL_TESTS(); } 点击此处查看源码 以上测试用例都是在Linux...系统下测试的,读者需自行在Linux下安装gtest。
作者 | 王久一 编辑 | 王久一 导读: 此文章介绍Linux常用指令中的运行级别,以及我们忘记root密码时的解决方案。...毕竟实际开发中我们用的都是命令行,所以掌握常用的指令对于Linux系统使用者是非常重要的。 运行级别 运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具有不同的功能。...为什么还说Linux操作系统比较安全? 答:如果想通过上方方式修改密码是不可以通过远程操作的,也就是说必须在Linux操作系统上进行操作,即实际公司中进入机房操作。...既然你有能进入机房修改密码的权力,就可默认为你是Linux的主人,修改密码还不行?总之,想修改Linux系统的密码,主机得在你旁边,所以任何人都可以修改系统密码不成立。
下载了一个录制gif图的软件,还不错 参考与:在Linux(Ubuntu)下超好用的录屏gif软件!!...Linux 下 find 命令提供了相当多的查找条件,功能很强大,对应的学习难度也比较大。 find [选项] [搜索路径] [表达式] 默认路径是当前目录,默认表达式为-print。...打印最长行的长度 ➜ 文档 wc -c 新文件 297 新文件 ➜ 文档 wc -l 新文件 10 新文件 ➜ 文档 wc -m 新文件 169 新文件 笔记来自实验楼,一个比较喜欢的地方 Linux
领取专属 10元无门槛券
手把手带您无忧上云