加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用ASP.NET MVC测试驱动的开发 – 从哪里开始?

发布时间:2020-12-16 00:43:12 所属栏目:asp.Net 来源:网络整理
导读:我已经阅读了很多关于测试驱动开发(TDD)的知识,我发现基于个人经验非常有吸引力的原则。 目前,我正在开发一个我参与的初创项目的网站,我想尝试将TDD付诸实践。 所以…我在Visual Studio 2010中创建一个空白的解决方案,添加一个ASP.NET MVC网站项目和一个
我已经阅读了很多关于测试驱动开发(TDD)的知识,我发现基于个人经验非常有吸引力的原则。

目前,我正在开发一个我参与的初创项目的网站,我想尝试将TDD付诸实践。

所以…我在Visual Studio 2010中创建一个空白的解决方案,添加一个ASP.NET MVC网站项目和一个测试项目。

我还添加了一个名为“Domain”的类库,用于我的域对象,并为其添加了一个测试项目。

现在我想知道从哪里开始在做任何事情之前,我应该写一个测试?问题是 – 我应该开始为域对象编写测试吗?如果是这样,究竟应该测试什么,因为域对象还不存在?

或者我应该从网站项目开始,并为此编写测试?如果是这样,我该怎么写一个测试?家庭控制器/索引动作?

解决方法

我通常首先为我要开发的应用程序收集一组故事。从那里我生成一个域模型,通常在“纸”上。我组织了我将要实施的故事,并开始在DB中为第一组故事创建域模型。

一旦我有初始的DB,那么我使用一个ORM,在我的例子中,LINQ to SQL,将DB表映射到一组初始类。我通常不会单独测试生成的代码,所以这给了我相当多的代码作为开始的基础。然后我创建一个存根方法,它抛出一个未实现的异常,以实现我正在使用的第一个域类的一个功能。通常,我从验证逻辑开始。一旦你有了存根方法,那么你可以使用VS右键菜单为这个方法创建一个或多个单元测试。然后你就在路上。

一旦我完成了第一个故事的域对象,我就开始使用MVC方面。首先,我将为第一个视图创建视图模型。这些点通常只是一个空的容器类。然后,我将创建视图,并强烈地将其添加到视图模型中。我将开始清理视图,根据视图的需要向视图模型添加属性。请注意,由于视图模型仅仅是一个容器,通常不存在与其相关联的单元测试。然而,它将用于后续的控制器测试。

一旦视图完成(或至少我的初始概念完成),然后我创建存根控制器动作或动作,同样,存根方法只是抛出一个未实现的异常。这足以让它编译,让我用这些工具为它创建单元测试。我根据需要继续测试方法,并确保其适用于给定输入,并产生适当的视图模型。如果该方法可以产生多个视图模型,即渲染多个视图,我可以遍历创建视图模型/视图/控制器代码的过程,直到故事完成。

必要时重复,直到您的故事实施,一路重构。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读