[发明专利]一种在MVC 中使用测试驱动开发的存储库模式无效

专利信息
申请号: 201210164715.1 申请日: 2012-05-25
公开(公告)号: CN102693182A 公开(公告)日: 2012-09-26
发明(设计)人: 董阳;易川;张吉英;李德逸 申请(专利权)人: 苏州博远容天信息科技有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 南京经纬专利商标代理有限公司 32200 代理人: 曹毅
地址: 215000 江苏省苏州*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 mvc 使用 测试 驱动 开发 存储 模式
【说明书】:

 

技术领域

发明涉及一种使用测试驱动开发(TDD)的方法,具体涉及一种在MVC 中使用测试驱动开发的存储库模式。

背景技术

目前在MVC的单元测试中,对控制器方法进行单元测试时,涉及到调用数据访问的添加、修改、删除、查询时,往往需要真实的数据库服务器支持,才能正常运行单元测试代码。通过对以往单元测试的分析,发现存在着诸多不便实现的问题。

其具体问题包括:

1、首先执行单元测试时,需要真实的数据库服务器支持;

2、编辑和删除数据的单元测试将更改数据库的状态,这就需要每一轮的单元测试都具有干净的数据库环境;

3、在对控制器方法进行单元测试时,如果被测试方法中需要调用另一个类中的某个方法,并且需要获得该方法的返回值,才能正确执行。如果被调用的方法由于某种原因没有开发完成,在这种情况下,要想对此方法进行测试,只能等待被调用类开发完成。

发明内容

发明提供了一种在MVC 中使用测试驱动开发的存储库模式,目的在于解决单元测试对真实数据库和其他外部组件的依赖,提供一种新型的临时的存储库模式,更大的优化单元测试的灵活性、可测试性。

样处理厂的告知系统为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

一种在MVC 中使用测试驱动开发的存储库模式,其特征在于,包括以下步骤:

步骤1)添加存储库,定义一个访问数据库的接口;

    步骤2)创建测试驱动,实现 mock 存储库;

    步骤3)添加测试类支持,在目标测试类中定义两个构造函数; 

 第一个构造函数是无参数构造函数,第二个构造函数采用了 IContactRepository 类型的参数,所述第二个构造函数将由单元测试传入所述mock 存储库;所述第一个构造函数将创建 EF_ContactRepository 类的实例,当调用控制器中的操作方法时,MVC 管道将调用所述第一个构造函数;

步骤4)添加测试,在所述测试类中编写测试方法,调用所述第二个构造函数。

本发明的原理是:

本发明使用具有 MVC 和 TDD 的存储库模式,需要测试人员为数据访问类创建接口;对控制器方法进行单元测试时,可根据接口实例化mock存储库,去模拟实际运行过程中的对数据的添加、修改、删除、查询。

采用 MVC 的 TDD 的原则之一是,每个测试应驱动操作方法中的一个特定要求,测试不应验证数据库或其他组件(尽量把这些组件放在数据访问的单元测试和集成测试中进行测试)。

本发明的有益效果是:

1、执行单元测试时,不需要真实的数据库服务器;

2、编辑和删除数据的单元测试,不需要在执行每一轮单元测试时,准备干净的数据库环境;

3、为单元测试提供了替换点,可以轻松地测试业务逻辑而无需数据库和其他外部依赖项。

附图说明

    图1为本发明的流程图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

参见图1所示,一种在MVC 中使用测试驱动开发的存储库模式,包括以下步骤:

步骤1)添加存储库:

使用具有 MVC 和测试驱动开发(TDD)的存储库模式,需要测试人员为数据访问类创建接口。对控制器方法进行单元测试时,可根据接口实例化mock存储库,去模拟实际运行过程中的对数据的添加、修改、删除、查询。

定义一个访问数据库的接口:

1.public interface IContactRepository 

2.{

3. void CreateNewContact(Contact contactToCreate);

4.        void DeleteContact(int id);

5.        Contact GetContactByID(int id);

6.        IEnumerable<Contact> GetAllContacts();

7.        int SaveChanges();

8.}

步骤2)创建测试驱动,实现 mock 存储库:

1.class InMemoryContactRepository : IContactRepository 

2.{

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州博远容天信息科技有限公司,未经苏州博远容天信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210164715.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top