为什么使用googletest,而不是其他C++测试框架(译自google faq的该问题)
来源:互联网 发布:魔法王座翅膀升级数据 编辑:程序博客网 时间:2024/05/03 23:24
首先要说清楚,我们不希望陷入“哪个C++测试框架最好”的辩论中。现在有许多不错的C++测试框架,各自拥有大量的开发者和用户。我们不认为存在一个最好的框架,你只是必须为特定的任务选择正确的工具。
我们创造了google test,是因为找不到一个现有的框架能满足我们需要的所有功能和易用性。下面是我们之所以喜欢google test的特性列表,这些特性其他测试框架也能提供,但是组合起来只有google test才全部提供。我们希望这个列表可以帮助你决定google test是否也适合你。
谷歌测试被设计为可移植的:没有例外或RTTI,能应对各种编译器和各种环境中的各种bug,比如Linux,Mac OS X,Windows和一些嵌入式操作系统。
非严重断言(EXPECT_ *)能大量节省时间,因为在一个单独的编辑 - 编译 - 测试周期中能报告多个断言失败。
容易编写意义清晰的消息性断言:可以使用流式语法来附加任何额外的信息,例如,ASSERT_EQ(5, Foo(i)) << " where i = " << i。不需要新的宏或特殊的函数。
Google Test能自动探测编写的测试,不需要通过列举的方式来运行测试。
编写死亡测试非常方便,可以确保生产代码中的断言在正确的条件下进行触发.
当断言失败来自子程序或循环时, SCOPED_TRACE有助于了解其产生的上下文环境.
可以使用名字模式来决定运行哪些测试。当你想快速重现测试失败时,可以节省时间。
Google Test 可以生成XML测试结果报告,能用流行的持续构建工具进行解析,如Hudson.
Google Test能很方便地做简单的事,也能让困难的事成为可能。除了支持高端特性,如全球测试环境和值参或型参测试,也支持用户用各种方式进行扩展。对于Google Test没有提供的特性,用户也能使用其开放API自己实现,不需要修改Google test本身。特别是,你能:
通过定义自己的谓词扩展测试词汇
教Google Test输出自定义类型,
定义自己的测试宏和工具,并使用Google Test's的Service Provider Interface来验证,
测试用例反射或通过解释测试事件来改变测试输出格式。.
我们创造了google test,是因为找不到一个现有的框架能满足我们需要的所有功能和易用性。下面是我们之所以喜欢google test的特性列表,这些特性其他测试框架也能提供,但是组合起来只有google test才全部提供。我们希望这个列表可以帮助你决定google test是否也适合你。
谷歌测试被设计为可移植的:没有例外或RTTI,能应对各种编译器和各种环境中的各种bug,比如Linux,Mac OS X,Windows和一些嵌入式操作系统。
非严重断言(EXPECT_ *)能大量节省时间,因为在一个单独的编辑 - 编译 - 测试周期中能报告多个断言失败。
容易编写意义清晰的消息性断言:可以使用流式语法来附加任何额外的信息,例如,ASSERT_EQ(5, Foo(i)) << " where i = " << i。不需要新的宏或特殊的函数。
Google Test能自动探测编写的测试,不需要通过列举的方式来运行测试。
编写死亡测试非常方便,可以确保生产代码中的断言在正确的条件下进行触发.
当断言失败来自子程序或循环时, SCOPED_TRACE有助于了解其产生的上下文环境.
可以使用名字模式来决定运行哪些测试。当你想快速重现测试失败时,可以节省时间。
Google Test 可以生成XML测试结果报告,能用流行的持续构建工具进行解析,如Hudson.
Google Test能很方便地做简单的事,也能让困难的事成为可能。除了支持高端特性,如全球测试环境和值参或型参测试,也支持用户用各种方式进行扩展。对于Google Test没有提供的特性,用户也能使用其开放API自己实现,不需要修改Google test本身。特别是,你能:
通过定义自己的谓词扩展测试词汇
教Google Test输出自定义类型,
定义自己的测试宏和工具,并使用Google Test's的Service Provider Interface来验证,
测试用例反射或通过解释测试事件来改变测试输出格式。.
- 为什么使用googletest,而不是其他C++测试框架(译自google faq的该问题)
- C程序:使用 googletest 测试框架
- GoogleTest测试框架
- Google 开源了自己的 C++ 单元测试框架 : googletest
- Google C++单元测试框架GoogleTest---AdvancedGuide(译文)上
- Google C++单元测试框架GoogleTest---AdvancedGuide(译文)上
- Googletest测试框架搭建方法
- GoogleTest的使用01
- GoogleTest的使用
- 为什么Android开发使用Java而不是C++?
- googletest在linux下建立测试框架
- googleTest(gTest)的使用心得
- Googletest使用
- Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest?
- Objective-C 测试框架 GHUnit 的使用
- 为什么API多用C而不是C++,为什么C++程序大多不使用异常
- 【开源自动化测试疑难FAQ】【框架】使用批处理进行过期的测试结果和空目录清理
- 为什么使用Qt而不是MFC
- linux文件最大连接数问题---bash: ulimit: open files: cannot modify limit: Operation not permitted
- C语言结构体的字节对齐
- 是什么偷走了我们的快乐
- HttpServletResponse对象
- MFC中文件读写操作
- 为什么使用googletest,而不是其他C++测试框架(译自google faq的该问题)
- WinCE流式接口驱动架构
- 儿童家具的安全与素质教育
- tomcat https访问设置
- 持续集成学习笔记-入门篇(1)持续集成基本概念
- 自己实现RMI(二)对象索引和方法回调
- TOT12-2 技能培训即将结束
- php论坛phpwind和discuz比较
- Centos安装sdcv