Gtest单元测试精选.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.4 Googletest 环境搭建 2.2.1 伪对象 2.2.2 接缝模型 对象接缝 链接接缝 参考资料 断言宏分类: (1) ASSERT_*系列:检查点失败时,推出当前函数 (2) EXPECT_*系列:检查点失败时,继续往下执行 1.3.1 断 言 布尔值检查 数值型检查 字符串检查 浮点型检查 当断言检查出错时输出的信息并不能很好的帮助你还原当时出错的状况时, 可以使用“” 操作符输出指定内容帮助分析出错原因。 1.3.2 事件机制 Gtest事件机制分类: 全局:发生在所有案例执行前后 TestSuite:案例中所有案例执行前后 TestCase: 单个案例前后 全局事件 要实现全局事件,必须写一个类,继承testing::Environment类,实现里面的SetUp和TearDown方法。 1. SetUp()方法在所有案例执行前执行 2. TearDown()方法在所有案例执行后执行 TestSuite事件 需要实现一个类,继承testing::Test,然后实现两个静态方法 1. SetUpTestCase() 方法在第一个TestCase之前执行 2. TearDownTestCase() 方法在最后一个TestCase之后执行 TestCase事件 TestCase事件发生在每个TestCase执行前后 1. SetUp()方法在每个TestCase执行前执行 2. TearDown()方法在每个TestCase执行后执行 当被测函数需要传入不同的值时,可以考虑Gtest提供的参数化测试功能。 1.3.3 参数化测试 INSTANTIATE_TEST_CASE_P(param1,param2,param3) param1:任意取; param2:测试案例的名称; param3:参数生成器 (eg:testing::Values()); 使用说明: 在运行Gtest时,Gtest提供了一系列的参数可以使我们对案例的执行进行有效的控制。 1.3.4 运行参数 Gtest工程产生exe文件图 运行输出案例表参数图示 测试案例集合参数 参数列表 测试案例输出参数 测试案例异常处理参数 1.3.5 death测试 在测试过程中,对于可能导致程序崩溃的输入,我们可以检查程序是否按预期的方式崩溃,验证崩溃结果。 注意事项: 1. 不要在死亡测试里释放内存。 2. 在父进程里再次释放内存。 3. 不要在程序中使用内存堆检查。 环境要求:Linux, Windows (requires MSVC 8.0 or above), Cygwin, and Mac (the latter three are supported since v1.3.0). VS2008下简单实现示例 EXPECT_DEATH(statement, regex); 1. statement是被测试的代码语句 2. regex是一个正则表达式,用来匹 配异常时在stderr中输出的内容 EXPECT_EXIT(statement, predicate, regex) 1. statement是被测试的代码语句 2. predicat

您可能关注的文档

文档评论(0)

2518887 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档