文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[z]一个轻量级C++单元测试框架——ztest

[z]一个轻量级C++单元测试框架——ztest

时间:2010-11-09  来源:eeevictor

之前也看过别人写的一些单元测试框架,google的gtest算是比较有名的了,还有其它一些,基本实现都大同小异。总的来说,gtest显得有些重量级,另外的一些,测试用例不能分组,所有的用例只能一起运行,感觉不是很方便。周末的时候,折腾了一个相对比较轻量级的单元测试框架,命名为ZTest, 通过定义不同的测试类,可以支持对用例进行分组。下面从四个方面,对ZTest做一个介绍:

  • 1. ZTest是什么?

    ZTest是一个轻量级的c++程序单元测试框架

  • 2. 如何获得ZTest?

    可以从google code:http://xiao5geproject.googlecode.com/svn/trunk/ztest 处获得ZTest的源码。

  • 3. 如何使用ZTest?


    使用ZTest要遵循以下几个步骤:
    (1)包含ztest.h:

    1
    
    #include "ztest.h"

    (2)声明测试类和测试用例

    1
    2
    3
    4
    
    Z_BEGIN_TEST_CLASS(Test)
            Z_DECLARE_TEST_CASE(Global, Add)
            Z_DECLARE_TEST_CASE(Class, Add)
    Z_END_TEST_CLASS()

    (3)定义测试对象

    1
    
    Z_DEFINE_TEST_OBJECT(Test, tester)

    (4)定义测试用例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    Z_DEFINE_TEST_CASE(Test, tester, Global, Add)
    {
            Z_EXPECT_EQ(1 - 3, 2);
    }
     
    class Test
    {
    public:
            int Add(int a, int b)
            {
                    return a + b;
            }
    };
     
    Z_DEFINE_TEST_CASE(Test, tester, Class, Add)
    {
            Test test;
            Z_EXPECT_TRUE(test.Add(3, -4) == -1);
    }

    (5)运行测试用例

    1
    2
    3
    4
    
    int main()
    {
            Z_RUN_ALL_TESTCASES(tester);
    }

    (6)编译运行单元测试程序:

    1
    2
    3
    
    Running test case: Global/Add    [Check failed] 1 - 3 == 2
    Running test case: Class/Add     [Passed]
    Tatal 2 cases, passed 1
  • 4. 其它

    (1)如果在测试某个类的私有成员,可以在#include “ztest.h”之前定义宏:Z_NEED_ACCESS_PRIVATE_MEMBER, 然后在被测试的类中用Z_DECLARE_FRIEND(name)把测试类声明为被测试类的友元类。
    (2)可以通过定义多个测试类实现对测试用例的分类
    (3)任何个人或者组织都可以免费使用ZTest。使用过程中如果发现什么bug, 或者有什么好的改进建议,都可以在这里给我留言,谢谢!
    (4)如果不能访问google code的朋友,可以点击这里,直接进行下载:ztest.zip

from:http://www.wuzesheng.com/?p=1400
 

 

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载