VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
《测试驱动开发实用指南(影印版)》读书笔记1

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

今天开始读《测试驱动开发实用指南(影印版)》里的例子。打算边读边把里边的例子用C++写一遍。

在《Test-Driven Development-A Practical Guide》书中的影片管理例子中,作者列出了10个User Story:

1) Movie List
2) Movies Can Be Renamed
3) Movies Are Unique
4) Rattings
5) Categories
6) Filter on Category
7) Persistence
8) Sorting
9) Multiple Ratings
10) Reviews

作者将围绕这十个User Story来展开开发。

一、Movie List

需要设计一个影片列表container.

Test 1: 空的列表的size应该为0。

测试代码:
void TestMovieList::testEmptyListSize()
{
     m_pMovieList = new MovieList();

     CPPUNIT_ASSERT_EQUAL(0, m_pMovieList->Size());
}

编译没通过,写产品代码:

增加一个类MovieList:
class AFX_EXT_CLASS MovieList 
{
public:
     MovieList();
     virtual ~MovieList();

public:
     int Size();

};

size()方法:
int MovieList::Size()
{
     return 0;
}

编译,测试,通过。


Test 2: 加入一个影片后列表size应该为1.

测试代码:
void TestMovieList::testSizeAfterAddingOne()
{
         Movie starWars;
         MovieList oneItemList;
         oneItemList.Add(&starWars);

        CPPUNIT_ASSERT_EQUAL(1, oneItemList.Size());
}

编译没通过,写产品代码.
加入新类Movie
class AFX_EXT_CLASS Movie 
{
public:
          Movie();
          virtual ~Movie();
};

MovieList加入新的方法Add():
void MovieList::Add(Movie* pMovie)
{
       m_nNumberOfMovies = 1;
}

同时加入新的数据成员用于保存影片个数:

int m_nNumberOfMovies;

今天先写到这,我们完成的测试如图1:


                                

                                    图1




相关文章

相关软件