如何利用BaseTestCase system 实现单元测试

发表于:2009-03-05来源:作者:点击数: 标签:
虽然Base TestCase system 是属于主线程的,在执行 Test Case 后,BaseTestCase system 将接管主线程的操作权,然后使用BaseTestCase system同样可以完成 单元测试 ,原因很简单,还是因为BaseTestCase system 它是基于代码级的。 下面我们用一个Sample 来演
 虽然BaseTestCase system 是属于主线程的,在执行Test Case 后,BaseTestCase system 将接管主线程的操作权,然后使用BaseTestCase system同样可以完成单元测试,原因很简单,还是因为BaseTestCase system 它是基于代码级的。

        下面我们用一个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:");

   

单元测试

原文转自:http://www.ltesting.net