下面我们用一个Sample 来演示BaseTestCase system 是如何实现单元测试。
// .h
#ifdef TEST_CASE_CODE
#include "BaseTestCase.h"
class CTest_BitmapFile : public CBaseTestCase
{
TEST_CASE_MAP
BASE_TEST_CASE_H(CTest_BitmapFile)
public:
………..
void test_LoadFile();
………..
};
#endif //#ifdef TEST_CASE_CODE
// .cpp
#ifdef TEST_CASE_CODE
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
BASE_TEST_CASE_CPP(CTest_BitmapFile)
BEGIN_TEST_CASE_MAP(CTest_BitmapFile)
………….
TEST_CASE_MEMBER(test_LoadFile)
………….
END_TEST_CASE_MAP
void CTest_BitmapFile::test_LoadFile()
{
TEST_CASE_TRACE("Begin");
//定义一个将要被测试的对象
CBitmapFile bitMapFle;
// 准备测试数据
TCHAR szApPath [MAX_PATH] = {0};
GetModuleFileName(NULL,szApPath,MAX_PATH);
ASSERT(szApPath);
CString strPath(szApPath);
strPath.Replace("image.exe","sample.bmp");
//记录测试动作,以作为报告输出
TEST_CASE_TRACE("defining a CBitmapFile Object");
TEST_CASE_TRACE("Load File:");