了解 Boost 单元测试框架

1472阅读 0评论2010-07-07 ssddyb
分类:C/C++

开放源码 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( )
     //测试套件结束


上一篇:简单的音频重采样
下一篇:保存图片的minispider--Python