开放源码 C/C++ 单元测试工具,第 1 部分: 了解 Boost 单元测试框架 开放源码 C/C++ 单元测试工具,第 2 部分: 了解 CppUnitGoogle 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) |