googletest基本测试宏】的更多相关文章

还不知道googletest基本使用方法的请参看前一篇blog  使用googletest进行C++单元测试 本篇仍然使用testStack测试文件进行测试,测试代码如下 #include <gtest/gtest.h> #include "MyStack.h" #include <iostream> TEST(StackTest, testPop) { //StackTest是testcase名,testPop为具体的test MyStack st; st.p…
最近工作用到了GoogleTest来作单元测试,但是死亡测试的ASSERT_DEATH语句一直跑不通. GoogleTest会启动子进程来运行代码,并捕捉子进程的错误消息,这就是所谓的"死亡测试". 直接上代码: 1 #include <stdio.h> 2 #include <iostream> 3 4 #include <gtest/gtest.h> 5 6 using namespace std; 7 8 class X { 9 public:…
1 GoogleTest源码编译: GoogleTest代码仓库URL: https://github.com/google/googletest.git 下载源代码: git clone --branch release-1.12.1 https://github.com/google/googletest.git googletest 1.1 Windows下GoogleTest的编译方法(包含example): 这里选择的编译器是Visual Studio 16 2019,需要用别的版本的…
虚拟文件系统(VFS)概述: VFS位于文件系统.和访问文件的系统调用(API)之间,为系统调用访问文件系统提供统一的抽象接口. 不同文件系统连接成一个单一树形结构,分别挂载(自己挂载需要用mount命令)在VFS上,采用POSIX系统调用读写不同的文件系统--使得不同文件系统之间进行数据交换和同时管理非常地方便.文件系统用mount命令挂载举例: cdrom在Linux中的挂载:mount -t iso9660 /dev/cdrom/mnt/cdrom.nfs的挂载:mount -t nfs…
进程与进程管理: 清屏:system("clear"); //#include <signal.h> 进程环境与进程属性: 什么是进程:简单的说,进程就是程序的一次执行过程. 进程的状态:进程基本三态:运行态.就绪态.封锁态(等待态)--状态可在一定的条件下变化.(其中处于等待的进程分为:可中断进程可以被信号中断其等待:不可中断进程在任何情况下都不可被中断,一直等待条件的满足).僵死进程:子进程先于父进程退出:从子进程终止到父进程调用wait()之前的时间段内,子进程被称为…
GTest为google开源的白盒单元测试跨平台测试框架,含丰富的断言.类型参数化测试.死亡测试.以及其他的测试选项设置.文件保存等,以下将对该项目C++的实现进行简要的分析,作为学习记录备份. 基本上内部使用了大量的宏.模板,因此在分析源码时跟踪会比较麻烦,这也是有的开发项目团队不推荐使用宏.模板等,但即使如此,宏与模板的强大功能仍然是学习和开发紧凑的源码的有力武器,此外GTest也使用了C++语言和VC编译器的某些特性(类的静态成员.全局变量的初始化)(令人有点儿XXX的感觉). 在分析源码…
access() //检查是否调用进程有Access这个文件的权限,如果文件是一个符号链接,会将它解引用,成功返回0,失败返回-1设errno #include <unistd.h> int access(const char *pathname, int mode); /*mode(Bitwise Or) : F_OK //文件是否存在 R_OK //文件是否存在且授予了该进程读权限 W_OK //文件是否存在且授予了该进程写权限 X_OK //文件是否存在且授予了该进程执行权限 */ if…
1.编译含有splice()函数的程序时出现,'SPLICE_F_MOVE'  undeclared,'SPLICE_F_NONBLOCK' ‘SPLICE_F_MORE' 也是一样undeclared! 2.使用man splice查看,发现要定义宏_GNU_SOURCE #define _GNU_SOURCE /* See feature_test_macros(7) */ #include <fcntl.h> ssize_t splice(int fd_in, loff_t *off_i…
一.介绍: 现在的消费越来越方便,直接带个手机用各种三方的支付平台进行支付就行,例如微信.支付宝.现在正好我所做的项目中用到了微信支付,今天就来整理一下. 二.准备: 1.去微信官方开发者平台注册开发者账号:https://open.weixin.qq.com 2.然后登陆开发平台: 3.给项目对应的Bundle ID创建应用程序(默认有登陆和分享功能,当然需要花300块钱申请支付功能,一般公司会购买,完成这些操作就是等待审核了,一般一到两个星期就搞定了) 4.审核通过,可以看到如下显示:会生成…