GTest简介

欢迎来到Google Test,Google Test是一个C++的测试框架。

这个仓库是之前分开的Google Test 和Google Mock合并构成的,因为两者在维护和发布都是非常相关的。

请参看上面的项目主页,获取更多的信息,包含邮件列表,通过这个邮件列表可以很方便的提问问题、参与讨论和开发。这里在OFTC上有一个IRC频道(irc.oftc.net)#gtest,请加入我们。

获取Google Test的入门信息,已经发布在Google Test Primer文档中。

Google Mock是Google Test的一个扩展,用来写和使用C++ Mock类,请参考独立的Google Mock 文档

更多关于Google Test的详细文档(包含构建说明),在项目内部的googletest/README.md文件中。

特征

  • 一个单元测试框架
  • 测试发现(Test discovery)
  • 丰富的断言集合
  • 用户自定义断言
  • 死亡测试
  • 致命或者非致命的失败
  • 值参数化的测试
  • 类型参数化的测试
  • 运行测试多种选项
  • 产生XML格式的测试报告

平台

Google Test已经被应用在多种平台

  • Linux
  • Mac OS X
  • Windows
  • Cygwin
  • MinGW
  • Windows Mobile
  • Symbian

谁在使用Google Test

除了许多Google内部的项目,Google Test也在下面这些著名的项目中使用。

相关的开源项目

Google Test UI是一个测试运行器,运行你的测试二进制,允许通过进度条来跟踪测试执行的过程,并且显示一个测试失败的用例的List,点击每一个元素,显示测试失败的文本描述,Google Test UI是使用C#语言编写的。

GTest TAP Listener是一个Google Test的事件监听程序,对于测试输出实现了TAP协议,如果你的测试执行程序运行在TAP协议下,这个工具是有用的。

需求

Google Test被设计成使用非常少的额外需求,来构建和在项目使用,但是还是有一些需求的。目前,Google Test支持Linux、Windows、Mac OS X 和Cygwin平台,Google Test将要尽他们最大的努力支持其他的平台,比如Solaris,AIX和z/OS,然而,由于Google Test的核心开发人员没有这些平台的访问权限,Google Test可能会在这些平台有一些突出的问题,如果你在你的平台上使用Google Test遇到什么问题,那么请联系[email protected]通知Google Test的开发人员,修复这些问题的补丁将会很快发布。

Linux 需求

从源码编译构建Google Test,有下面几个基本的需求:

  • 与GNU兼容的Make或者gmake工具
  • POSIX标准shell
  • POSIX正则表达式
  • 一个C++98标准兼容的编译器

Windows 需求

Microsoft Visual C++7.1 或者更新的版本

Cygwin 需求

Cyswinv1.5.25或者更新的版本

Max OS X 需求

  • Max OS X v10.4 Tiger或者更新的版本
  • Xcode开发工具

对于贡献者的需求

我们欢迎Patches,如果你计划贡献一个Patch,你需要构建Google Test和Google Test本身的测试,这样会有更多额外的需求:

  • Python 2.3版本或更新的版本,用来运行测试,或者根据模板重新产生特定的源代码。
  • CMake 2.6.4 或者更新的版本

重新产生源文件

一些Google Test的源代码文件是通过脚本,根据模板产生的,比如文件include/gtest/internal/gtest-type-util.h.pump 是用来在同样的目录中产生gtest-type-util.h 源文件的。
除非是你要修改它们,否则不需要担心产生源文件,那么你需要修改相关的.pump文件,并且运行’pump.py’脚本文件,详细信息参考Pump Manual

贡献代码

我们欢迎Patch,请阅读开发者指导用来指导如何贡献源码,需要注意的是,确定你已经签署了贡献协议条约,否则,我们不会接受这些patch。

测试快乐!

results matching ""

    No results matching ""