zoukankan      html  css  js  c++  java
  • Google 开源了自己的 C++ 单元测试框架 : googletest收藏(转)

    Google 在美国独立日这一天开源了自己的c++测试框架:googletest  http://code.google.com/p/googletest/

    这个工具的主要作者是 Zhanyong Wan,他是 Google 测试技术组的软件工程师。

    googletest 与 CppUnit 相比,有两个特点:

    1. 使用简单,写 test case 不用分成声明和定义两部分,也不用自己注册 test suite。

    CppUnit是从jUnit移植而来,而 C++ 没有 Java 那样的反射机制(和annotation,也没有C#那样的代码元数据 attribute,所以一般需要自己注册各个 test case。虽然 CppUnit 提供了一些宏,但是按照 C++ 成员函数 定义/声明 分离的原则,加一个test case还是得两头改。
    而googletest采用了类似CppUnitLite的宏,让写test case就像写一个函数那样简单。

    2. ASSERT 种类与信息更丰富。

    googletest 中,你写ASSERT_LE(orderAmount, allowedAmount);表明 orderAmount 不大于 allowedAmount。如果这条assert没通过,那么出错信息里不仅有 orderAmount 和 allowedAmount 的值,还会有 “orderAmount” 和 “allowedAmount” 这两个字符串。这是用反射没法做到的,只能用宏实现。

    当然,googletest还可以做“死亡测试”,即测试那些让程序退出的代码段。googletest 能 fork() 出一个新进程,然后检查新进程的exit status或新进程的死亡原因(kill by signal等)。

    另外:Google C++ Coding Standards: http://code.google.com/p/google-styleguide/
  • 相关阅读:
    克如斯卡尔 P1546
    真正的spfa
    第四课 最小生成树 要点
    关于vscode中nullptr未定义
    cmake学习笔记
    python学习笔记
    (BFS 图的遍历) 2906. kotori和迷宫
    (图论基础题) leetcode 997. Find the Town Judge
    (BFS DFS 并查集) leetcode 547. Friend Circles
    (BFS DFS 图的遍历) leetcode 841. Keys and Rooms
  • 原文地址:https://www.cnblogs.com/wishma/p/1247446.html
Copyright © 2011-2022 走看看