Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158926
  • 博文数量: 56
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 502
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-18 14:21
文章分类

全部博文(56)

文章存档

2010年(39)

2009年(17)

我的朋友

分类: C/C++

2010-07-07 09:30:55

开放源码 C/C++ 单元测试工具,第 1 部分: 了解 Boost 单元测试框架
开放源码 C/C++ 单元测试工具,第 2 部分: 了解 CppUnit
Google C++ Testing Framework 简介
由于现在linux默认带有Boost库,所以Boost的C++测试框架用起来比较方便。
下面是从原文中摘的一个例子,有关详细内容请参见原文。

待测试的字符串类:

//str.h

#ifndef _MYSTRING
#define _MYSTRING

class mystring {
  char* buffer;
  int length;
  public:
    void setbuffer(char* s) { buffer = s; length = strlen(s); }
    char& operator[ ] (const int index) { return buffer[index]; }
    int size( ) { return length; }
 };

#endif


Boost测试例子:

#define BOOST_TEST_MODULE stringtest
#include <boost/test/included/unit_test.hpp>
#include "./str.h"

BOOST_AUTO_TEST_SUITE (stringtest) //测试套件开始


BOOST_AUTO_TEST_CASE (test1)       //测试用例1
{
  mystring s;
  BOOST_CHECK(s.size() == 0);
}

BOOST_AUTO_TEST_CASE (test2)
       //测试用例2
{
  mystring s;
  s.setbuffer("hello world");
  BOOST_REQUIRE_EQUAL ('h', s[0]); // basic test

}

BOOST_AUTO_TEST_SUITE_END( )
     //测试套件结束


阅读(1419) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~