【前言】

开发工具:Visual Studio 2012

测试库:Visual Studio 2012自带的MSTest

DI框架:Unity 

数据持久层:Entity Framework

前端UI:ASP.NET MVC 4.0

需求:我这里假设只满足两个功能,一个用户注册,另一个则是登陆的功能,借助于一些DDD思想,我将从领域层(或者常说的BLL)开始开发,当然每一层都是采用TDD,按我喜欢的做法就是“接口先行,测试驱动”,不废话,直奔主题吧。

有关VS2012的单元测试请参见《VS2012 Unit Test 个人学习汇总(含目录)

有关测试中使用的IdleTest库请参见http://idletest.codeplex.com/

 

一、首先来创建解决方案与项目的结构。

 

1. 创建空白解决方案“IdleTest.TDDEntityFramework”,新建解决方案文件夹“Interfaces”,并在文件夹内创建两个项目 “IdleTest.TDDEntityFramework.IRepositories” 和 “IdleTest.TDDEntityFramework.IServices”。

2. 直接在解决方案下创建类库项目 “IdleTest.TDDEntityFramework.Services”、“IdleTest.TDDEntityFramework.Models” 和 “IdleTest.TDDEntityFramework.Repositories”

3. 在解决方案下创建MVC4项目"IdleTest.TDDEntityFramework.MvcUI"作为最终的UI,我这里选择空模板,解决方案初始结构初始结构图如下

使用IdleTest进行TDD单元测试驱动开发演练(1)

4. 把所有类库项目中自动生成的“Class1.cs”文件删除。

5. 使用Visio画出解决方案中各项目的关系(如下图),这图画的是项目关系,实际上这些项目内的类也都遵循这样的关系。例如本项目只有一个Model,即UserModel,那么“IdleTest.TDDEntityFramework.IRepositories”下就相应将类命名为“IUserRepository”,“IdleTest.TDDEntityFramework.IServices”对应“IUserService”,以此类推,非接口则去掉前缀“I”。这是我个人的一些习惯,每个人可能命名方式可能不太一样,这很正常,但是如果是超过一个人来共同开发,则应将规范统一,俗话说“约定优于配置”嘛。

使用IdleTest进行TDD单元测试驱动开发演练(1)

6. 这里只是自己演练TDD的Demo而已,将不使用“UnitOfWork”,其他也可能会缺少不少功能,因为不低不在于Entity Framework或MVC等等,而关注的只是单元测试驱动开发罢了。

 

二、测试前的编码以及其他方面的准备

 

7. 在“IdleTest.TDDEntityFramework.Models”下添加类“UserModel”。

    public class UserModel
    {
        public string LoginName { get; set; }

        public string Password { get; set; }

        public int Age { get; set; }
    }
UserModel

相关文章:

  • 2022-01-31
  • 2021-11-05
  • 2021-12-28
  • 2021-10-26
  • 2021-09-11
  • 2021-07-05
  • 2022-12-23
  • 2021-06-05
猜你喜欢
  • 2021-12-12
  • 2022-02-25
  • 2021-04-23
  • 2021-10-08
  • 2021-06-06
相关资源
相似解决方案