MVC Unit Testing

参考文档:

  1.http://www.asp.net/mvc/overview/testing

  2.http://www.asp.net/mvc/tutorials/older-versions/nerddinner/enable-automated-unit-testing

1 Walkthrouth:Using TDD with ASP.NET MVC

  参考文档: gg416511(VS.98).aspx

1.1 Use VS Unit Testing framework

  参考文档: dd410597(v=vs.98).aspx

2 TDD测试原则

  • 每个测试方法对应一个特定要求
  • 不应验证数据库或者其他组件
  • 测试方法名称应当具有说明性

3 编码

  3.1 Assert用法

    参考文档: microsoft.visualstudio.testtools.unittesting.assert.aspx

4 参考资料

  4.1 Using Mocks And Tests To Design Role-Based Objects

    参考文档: dd882516.aspx

  4.2 Building Testable ASP.NET MVC Applications

    参考文档: dd942838.aspx

  4.3 Enable Automated Unit Testing

    参考文档: enable-automated-unit-testing

5 工具

  也请参考: Mock Framework.

5.1 Nunit

  • 下载地址:http://www.nunit.org/

5.2 Ninject

6 一些概念

  6.1 TDD

  • Test-Driven Development
  • 是敏捷开发中的一项核心实践和技术,也是一种设计方法论。 TDD的原理是在开发功能代码之前,先编写单元测试用例代码, 测试代码确定需要编写什么产品代码。

  6.2 IoC

  • 也请参考: DI
  • 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机 程序的耦合问题。控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。

  6.3 DI

  • Dependency Injection

  6.4 Mock Framework.

    6.4.1 Rhino Mocks

    6.4.2 Moq

    • 是利用诸如Linq表达式树和Lambda表达式等为.NET设计和开发的Mocking库

  6.4.3 Typemock

  6.4.4 Moles

  6.5 NuGet

  • NuGet 是免费、开源的包管理开发工具

7 常见问题

  7.1 1.加载config

    参考文档: arwutang

8 Learning Goals

  8.1 2.如何使用

    8.1.1 2.1 测试view

    a.检查视图存在

      参考文档: making-sure-a-view-exists

    b.Unit test MVC views using Razor Generator

      参考文档: unit-test-your-mvc-views-using-razor.html

    c.关于视图的单元测试

      参考文档: 1396718.html(老赵的文章)

  8.1.2 2.2 测试Routes

    参考文档: testing-routes-in-asp.net-mvc.aspx

  8.1.3 Controller

    unit test controller that uses Forms Authentication

      参考文档: how-can-i-unit-test-my-asp-net-mvc-controller-that-uses-formsauthentication

  8.1.4 Test Action Filter

    参考文档: how-to-test-action-filters-in-asp-net-mvc

  8.1.5 Controller Context

    参考文档: mocking-asp-net-mvc-controller-context

  8.1.6 custom Authorize filters

    参考文档: aspnet-mvc-testing-a-custom-authorize-filters

  8.2 2.1 基本开发流程

    a.创建测试类 [TestClass]

    b.初始化法方法 [TestInitialize]

    c,测试方法 [TestMethod]

    d.测试方法中使用断言 Assert class

  8.3 3.需要注意那些问题

    也请参考: TDD测试原则

思维导图源文件下载Mvc Unit Testing(请使用MindManager打开)

MVC Unit Testing学习笔记的更多相关文章

  1. MVC缓存OutPutCache学习笔记 (二) 缓存及时化VaryByCustom

    <MVC缓存OutPutCache学习笔记 (一) 参数配置> 本篇来介绍如何使用 VaryByCustom参数来实现缓存的及时化.. 根据数据改变来及时使客户端缓存过期并更新.. 首先更 ...

  2. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  3. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  4. ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  5. ASP.Net MVC开发基础学习笔记(1):走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  6. ASP.NET MVC 5 系列 学习笔记 目录 (持续更新...)

    前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...

  7. 【jqGrid for ASP.NET MVC Documentation】.学习笔记.2.jqGrid Model-View-Controller 分离

    1 基本 分离代码 和 描述 ,在ASP.NET MVC 应用程序中是非常重要的.因此,jqGrid 的 mvc 模式使用一个共同的网格安装设置,包括 Model ,Controller 和 View ...

  8. ASP.NET Core MVC的基础学习笔记

    最近由于“武汉肺炎”疫情在家办公,也没闲着,最近学习了一下asp.net core mvc的一些网页开发的的基础知识,话不多说直接上教程! 一.创建Web应用程序 1)创建新项目--->找到 “ ...

  9. ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

    一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归. ...

随机推荐

  1. [YUM]Public key for *.rpm is not installed

    解决办法: 此时要导入rpm的签名信息即可 以root登录,执行下面命令 # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

  2. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

  3. Sorting Algorithm

    sorting 应该是最容易被考到的东西,自己老是学了背,背了忘.为了方便复习,这里进行总结 1. Bubble Sort 定义:每两个两个比较,每扫完一次,当前扫过的最大值放在了末尾. for i ...

  4. Install MongoDB on Windows (Windows下安装MongoDB)

    Install MongoDB on Windows Overview Use this tutorial to install MongoDB on a Windows systems. PLATF ...

  5. poj 2752 Seek the Name, Seek the Fame【KMP算法分析记录】【求前后缀相同的子串的长度】

    Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14106   Ac ...

  6. 习WebSocket一(WebSocket初识)[转]

    http://www.cnblogs.com/wgp13x/p/3812579.html Java EE 7 去年刚刚发布了JSR356规范,使得WebSocket的Java API得到了统一,Tom ...

  7. unity3D与网页的交互

    由于项目需要,要求用unity来展示三维场景,并在三维中能够方便的查询数据库等.一开始尝试在unity中直接连接数据库,当时连的xml,然而每次发布成网页后都会出现路径找不到等问题,所以迫不得已采用了 ...

  8. 亲测PHpnow 安装环境

    出现问题1: "C:\Windows\system32\7z.exe"' 不是 或批处理文件. 找不到 C:\Windows\system32\7z.exe------------ ...

  9. eslint error

    暂时不想解决 报错: 3:16 error Component should be written as a pure function react/prefer-stateless-function ...

  10. HDU 5592 ZYB's Premutation(树状数组+二分)

    题意:给一个排列的每个前缀区间的逆序对数,让还原 原序列. 思路:考虑逆序对的意思,对于k = f[i] - f[i -1],就表示在第i个位置前面有k个比当前位置大的数,那么也就是:除了i后面的数字 ...