VS2012 Unit Test 个人学习汇总(含目录)

时间:2022-09-24 07:38:29

首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.aspx (类库)

    Verifying Code by Using Unit Tests (介绍)

我的IdleTest源码地址:http://idletest.codeplex.com/

VS2012单元测试的主要类:Assert、StringAssert、CollectionAssert,具体可参照上述链接的MSDN介绍。

单元测试一直都想接触,但是碍于没有那样的工作环境,故只能由自己在业余时间去做这个事,整个过程下来,最大的感触是我写代码的质量原来可以这么好,在此之前,通常我编写的代码有很大一部分在程序运行前都是有bug的,但是通过单元测试,基本上在程序运行之前(调试阶段)就扼杀了这些bug的大多数,单元测试代码有问题除外,这也是我坚持单元测试的最大动力,其次就是单元测试可以促使我在编码中努力去遵循SOLID,提别是单一职责原则。

我个人在学习单元测试中基本都写成了博客,便于记录,以下为目录。

目录:

1.《在Visual Studio 2012使用单元测试》、

2.《VS2012 单元测试之泛型类(Generics Unit Test)》、

3.《VS2012 Unit Test —— 我对接口进行单元测试使用的技巧

4.《VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

5.《VS2012 Unit Test——Microsoft Fakes入门

6.《VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

  插曲:前段时间与某个公司的开发经理(反正是管理开发的)聊过,问我最近在搞什么技术,答曰小酌单元测试,其反问”要改当测试人员了啊“。由此可见还是很多做开发的误以为单元测试应由测试人员来做,单元测试应该是100%由开发人员完成,甚至我们码农还要编写集成测试代码。

  单元测试只是TDD的一部分,其他的例如还有集成测试等。而TDD不但是编码的事,还是测试的事,更是设计的事,即为整个项目团队的事,所以绝对不是说用就用的,我这也算是发发牢骚罢了,发完还是要回头去干改bug的活。

  以下摘自《C#测试驱动开发》。

  TDD优点(简言之就是使设计更佳,缺陷更少):

    1.一开始就保证代码的质量;

    2.使开发人员更遵循SOLID原则;

    3.确保代码与业务需求之间的高度一致性;

    4.TDD鼓励创建更简单、针对性更强的库和API;

    5.鼓励与业务用户多沟通;

    6.有助于从系统中清除那些没有用到的代码;

    7.提供了内置回归测试;

    8.终止了递归错误的出现

    9.可以得到开放的、可扩展的、灵活的体系结构。

  单元测试框架:NUnit、MSTest(上述文中所用的)、MbUnit、xUnit。

  模拟框架:Fakes(MSTest的模拟框架)、Moq、Rhino Mocks、Type Mock

  依赖注入框架:Structure Map、Unity、Windsor、Autofac

能力有限,错漏难免,欢迎批评指正!!

参考资料:MSDN、C#测试驱动开发(Professional Test Driven Development with C#)

VS2012 Unit Test 个人学习汇总(含目录)的更多相关文章

  1. VS2012 Unit Test

    VS2012 Unit Test 个人学习汇总(含目录) 首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualS ...

  2. ABP 学习汇总

    本文背景 公司最近规划的新框架准备基于ABP来搭建,自从在阳铭博客看到ABP框架的介绍后,就一直持续关注着,但还没真正在实际项目中直接使用ABP,只是自己做了一些学习和Demo.ABP所用到的一些新技 ...

  3. Java学习-042-获取目录文件列表(当前,级联)

    以下三个场景,在我们日常的测试开发中经常遇到: 软件自动化测试,在进行参数测试时,我们通常将所有相似功能的参数文件统一放在一个目录中,在自动化程序启动的时候,获取资源参数文件夹中所有参数文件,然后解析 ...

  4. linux学习心得之目录树开端与/etc(图文)

    linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...

  5. golang zip 压缩,解压(含目录文件)

    每天学习一点go src. 今天学习了zip包的简单使用,实现了含目录的压缩与解压. 写了两个方法,实现了压缩.解压. package ziptest import ( "archive/z ...

  6. VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

    [1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...

  7. VS2012 Unit Test——Microsoft Fakes入门

    如题,本文主要作为在VS2012使用Fakes的入门示例,开发工具必须是VS2012或更高版本. 关于Fakes的MSDN地址:http://msdn.microsoft.com/en-us/libr ...

  8. VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

    [提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单 ...

  9. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

随机推荐

  1. 安装Nginx服务

    Nginx最大特点: 静态小文件(1M),支持高并发,同时占用系统资源很少.3W并发,10个进程,内存150M. Nginx特点: 1.配置简单,灵活,轻量. 2.高并发(静态小文件),静态几万的并发 ...

  2. xampp使用phpunit

    1.将xampp/php的pear文件夹里面的phpunit文件夹复制到htdocs目录下 2.复制xampp/php的phpunit.bat到需要测试的目录 3.使用cmd命令切换至phpunit. ...

  3. formData_html5_map标签

    1 : //更省事 var files = fileInput.files; var formData = new FormData(); //将所有文件插入formData formData .ap ...

  4. ie8兼容border-radius方法

    <!doctype html><html> <head>        <meta charset="utf-8" />    &l ...

  5. MVC2&period;0&equals;&equals;&gt&semi;MVC3&period;0

    总结出如下4个MVC3.0和2.0的重要区别. 1. @ 符号在 View 页面中的用法: C#代码以 @符号开头,例如 1 <h2>Name: @Model.Name</h2&gt ...

  6. Mysql创建和删除用户

    问题描述:        Mysql中创建用户和删除用户 问题解决:     (1)查询Mysql当前登录账户     (2)创建用户     方法一: 创建用户赋予用户所有权限: 新创建的用户可以在 ...

  7. Codeforces 196 C&period; Paint Tree

    分治.选最左上的点分给根.剩下的极角排序后递归 C. Paint Tree time limit per test 2 seconds memory limit per test 256 megaby ...

  8. 利用smarty模板(登录、有关信息操作等功能)

    smarty模板前提是:前端和后端是分开的,所以肯定会有很多的后台页面,php页面和html页面是分开存储的. (1)登录页面的编写也是分两个页面(后台和前端) 1.首先是后台的php页面,很简单只要 ...

  9. PHP 安装配置

    ./configure --prefix=/usr/local/php --with-libdir=/lib/x86_64-linux-gnu --with-config-file-path=/usr ...

  10. 浅析关于java的一些基础问题(上篇)

    要想让一个问题变难,最基本有两种方式,即极度细化和高度抽象.对于任何语言的研究,良好的基础至关重要,本篇文章,将从极度细化的角度 来解析一些java中的基础问题,这些问题也是大部分编程人员的软肋或易混 ...