测试方法的主要是根据要测试的对象写一部分调用代码和检查代码。检查代码当然首先要产生期望值,然后调用CppUnit提供的ASSERT宏check。The macro provided by CppUnit is as following

a) CPPUNIT_ASSERT(condition):判断condition的值是否为真,如果为假则生成错误信息。

b)

c) CPPUNIT_ASSERT_MESSAGE(message, condition):与CPPUNIT_ASSERT类似,但结果为假时报告messsage信息。

d)

e) CPPUNIT_FAIL(message):直接报告messsage错误信息。

f)

g) CPPUNIT_ASSERT_EQUAL(expected, actual):判断expected和actual的值是否相等,如果不等输出错误信息。

h)

i) CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual):与CPPUNIT_ASSERT_EQUAL类似,但断言失败时输出message信息。

j)

k) CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta):判断expected与actual的偏差是否小于delta,用于浮点数比较。

l)

m) CPPUNIT_ASSERT_THROW(expression, ExceptionType):判断执行表达式expression后是否抛出ExceptionType异常。

n)

o) CPPUNIT_ASSERT_NO_THROW(expression):断言执行表达式expression后无异常抛出。

CPPUnit 测试宏相关推荐

  1. Elixir元编程-第四章 如何测试宏

    Elixir元编程-第四章 如何测试宏 任何设计良好的程序库背后必定有套完善的测试程序.你已经编写扩充了一些语言特性,也许也编写了一些重要的应用程序.你也见识过了通过宏来编写友好的测试框架.这里还有些 ...

  2. 一文简述BSD,System V ,POSIX,SUS版本历史, 以及glibc移植的特性测试宏

    背景 我们在开发过程中经常需要进行程序移植.由于不同硬件环境.操作系统和各类依赖库版本的差异,会出现各种兼容性问题. 对于glibc来讲,除了C语言标准之外,还包含了posix.systemV等特性. ...

  3. [vs2010 project] CppUnit快速入门

    简介 测试是软件开发过程中极其重要的一环,详尽周密的测试能够减少软件BUG,提高软件品质.测试包括单元测试.系统测试等.其中单元测试是指针对软件功能单元所作的测试,这里的功能单元可以是一个类的属性或者 ...

  4. 如何使用CppUnit进行单元测试

    http://www.vckbase.com/document/viewdoc/?id=1762 一.前言 测试驱动开发(TDD)是以测试作为开发过程的中心,它坚持,在编写实际代码之前,先写好基于产品 ...

  5. VS系列IDE(2005、2008等)下使用cppunit的方法及使用示例

    一.    准备cppunit, 1. 下载并编译cppunit,这里以1.21.1为例,下载之后如图1所示为: 图1 2.    进入cppunit-1.12.1\src编译VC\VS工程文件,可能 ...

  6. CppUnit快速入门

    From:http://blog.csdn.net/freefalcon/archive/2006/05/25/753819.aspx 简介 测试是软件开发过程中极其重要的一环,详尽周密的测试能够减少 ...

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

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

  8. 软件测试培训:高薪测试技术要掌握哪些

    职业技能一 1. 软件测试: 1) 熟练灵活地运用等价类.边界值.判定表法.因果图法等各种方法设计测试用例,包括单元测试.集成测试.系统测试用例设计. 2) 牢固掌握了软件测试计划.测试日报.测试报告 ...

  9. C++简易测试代码框架

    2019独角兽企业重金招聘Python工程师标准>>> 在大多数情况下,我们写了一个函数,为了验证这个函数的正确性,我们还需要写很多的测试代码.可用于C/C++单元测试的框架有很多, ...

最新文章

  1. Hi35xx GPIO在ko中设置
  2. [Swift]LeetCode160. 相交链表 | Intersection of Two Linked Lists
  3. linux eth0 device not found,nVidia集成驱动已经安装了,但是Device not found,我的网卡怎么用呢?...
  4. python修改文件后缀_python实现遍历文件夹修改文件后缀
  5. 我对模拟电路课程的理解
  6. 爬虫-练习引导-豆办电影爬取-json数据的处理
  7. 为什么有些人看了别人的总结、经验、教训,依然没有用。
  8. javascript打开模式窗口的用法
  9. vs下C# WinForm 解决方案里面生成的文件都是什么作用?干什么的?
  10. Python 之 变量的基本使用
  11. 格式化 命令 linux,linux格式化命令(linux格式化磁盘命令fdisk详解)
  12. Python将数字排列组合
  13. RNN、self-attention、transform的浅显或许错误的理解
  14. Win10系统C++调用OpenCV实现网络摄像头录像和抓拍图片
  15. 计算机组成原理的复习提纲,计算机组成原理复习提纲.doc
  16. VGG16预训练学习笔记
  17. 深度学习-条件概率和似然估计
  18. FinTech创业的两大势力,以及他们各有千秋的数据应用模式 | TCFA纽约年会直击
  19. 简述因特网标准制定的几个阶段?
  20. win10 无法打开计算器 显示需要打开新的应用

热门文章

  1. linux nginx 安装
  2. 大数据系列的默认端口(hbase,hadoop,hived等)
  3. 2.word转换为pdf
  4. 吴恩达深度学习笔记(八) —— ResNets残差网络
  5. 2016 - 2- 2 非正式协议与正式协议
  6. 处理git clone命令的非标准SSH端口连接
  7. [转载]POJ 分类
  8. 树言树语:AIR的 应用方向在哪里?
  9. IT职场健康杀手与应对宝典 (虽然是IT职场,可是对于常上网的ggmm也是很有用的)...
  10. Mr.J--C语言编译错误C3861