刚接触到死亡测试时,感到很新鲜。但按着找到的例子运行后还显示运行错误。

例子源码为

void Foo() 
{// Foo() 该函数在实际运行时异常退出
    int *pInt = 0; 
    *pInt = 42 ; 

 
TEST(FooDeathTest, Demo) 
{     EXPECT_DEATH(Foo(), ""); 
}

修改为:

void Foo()
{//Foo() 该函数在实际运行时异常退出
int *pInt = 0;
assert(pInt);
*pInt = 42 ;
};

TEST(FooDeathTest, Demo) 
{    
EXPECT_DEATH(Foo(), "\\d"); 
}

运行正常。

看来所谓的死亡测试用例的目的就在于监督是否添加了assert(...)等断言,以及抛出的断言信息是否符合预期。

该例子中assert()抛出 整形的异常代码 0/1;“\\d”:匹配任何数字型代码见 regex)

好东西。测试健壮性的好工具。

类似,监视异常抛出:

TEST(FooTest, HandleZeroInput)
{

//抛出任何类型的异常
EXPECT_ANY_THROW(Foo(10, 0));
//抛出异常信息为字串
EXPECT_THROW(Foo(0, 5), char*);
/// \ 抛出的异常信息是整形
EXPECT_THROW(FooInt(0, 6),int);
}

GooglTest GoogleMock 实践感想三 死亡测试初步(1)相关推荐

  1. 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试

    一.前言 "死亡测试"名字比较恐怖,这里的"死亡"指的的是程序的崩溃.通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要 ...

  2. 基于Sql Server 2008的分布式数据库的实践(三)

    原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...

  3. [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)

    本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...

  4. 北邮计算机网络实践实验三,北邮计算机网络技术实践--实验三

    北邮计算机网络技术实践--实验三 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 计算机网络技术实践实验报告实验名称 RIP和OS ...

  5. 扫雷游戏软件测试,暑期社会实践 | 扫雷游戏的测试完善及总结

    原标题:暑期社会实践 | 扫雷游戏的测试完善及总结 在程序的前期准备和代码功能实现的基础上,信息工程学院扫雷少女101团队成员针对已具备基本雏形的扫雷游戏进行全方位仔细的测试,来发现程序现有或是未知的 ...

  6. 软工实践第三次作业-结对项目1

    软工实践第三次作业-结对项目1 简要目录: Step1 · 结对信息     成员信息     项目简介 Step2 · 项目信息     设计说明     原型模型 Step3 · 结对过程     ...

  7. Android 持续集成实践(三)——编写 .gitlab-ci.yml 实现自动化

    文章目录 前言 系列文章 Android 持续集成实践(三)--编写 .gitlab-ci.yml 实现自动化 要实现的效果 定义 gitlab-ci 工作场景阶段 定义 build 任务 定义 re ...

  8. 百度APP移动端网络深度优化实践分享(三):移动端弱网优化篇

    本文由百度技术团队"蔡锐"原创发表于"百度App技术"公众号,原题为<百度App网络深度优化系列<三>弱网优化>,感谢原作者的无私分享. ...

  9. AlexeyAB DarkNet YOLOv3框架解析与应用实践(三)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(三) ImageNet分类 您可以使用Darknet为1000级ImageNet挑战赛分类图像.如果你还没有安装Darknet,你应该 ...

  10. Google Test(GTest)使用方法和源码解析——死亡测试技术分析和应用

    死亡测试是为了判断一段逻辑是否会导致进程退出而设计的.这种场景并不常见,但是GTest依然为我们设计了这个功能.我们先看下其应用实例.(转载请指明出于breaksoftware的csdn博客) 死亡测 ...

最新文章

  1. php gzipstream,c# – 在WebRequest中发送gzip数据?
  2. 电脑系统哪个最好用_什么除湿机好用_家用除湿机哪个牌子最好用-装修攻略
  3. 【杂谈】深度学习之模型设计书看完了完全不过瘾?那这些拓展资料你都看了不?...
  4. Effective Java之EnumMap代替序数索引(三十三)
  5. Java高级应用编程——集合练习题
  6. JAVA线程的生命周期
  7. 亚马逊云计算机配置,亚马逊云教程6:创建、启动AMI,设置Cloud Watch
  8. Steam 游戏服务器IP地址段
  9. 北京最好的商标律师解析商标侵权的处罚规定
  10. 【cocos源码学习】解决cocos2d-x-4.0 Android Demo构建遇到的问题
  11. 2021年高处安装、维护、拆除新版试题及高处安装、维护、拆除考试试卷
  12. 洛谷P2851 [USACO06DEC]The Fewest Coins G 题解
  13. 2021GKCTF Misc excel骚操作--详解
  14. 机器学习:什么是无监督学习(Unsupervised Learning)?
  15. 对合成大西瓜修改图片的实践
  16. java线程状态——java线程状态图
  17. AtCoder题解——Beginner Contest 167——C - Skill Up
  18. ITN网络课程笔记(十二)
  19. 磁盘清理工具:DaisyDisk for Mac 4.20.3
  20. java远程计算机终止,java - javax.net.ssl.SSLHandshakeException:远程主机终止了握手 - 堆栈内存溢出...

热门文章

  1. Qt+OSG/osgEarth跨平台编译(用Qt Creator组装各个库,实现一套代码、一套框架,跨平台编译)
  2. [KALI系列第四章]进行ARP断网攻击,包含安装方法
  3. Vue单页面与多页面的区别
  4. 无形胜有形——0day破解组织探秘
  5. 华为云HECS,集智纳简优化配置,畅享一站式使用场景
  6. 新一代天气雷达文件三维可视化
  7. [brew]切换brew源
  8. SSL P2133 腾讯大战360
  9. win10网络适配器出现黄色感叹号!!WiFi路由器正常却无法显示可用网络!
  10. XGBOOST从原理到实战:二分类 、多分类