Visual Studio 中的单元测试 UNIT TEST

原文:Visual Studio 中的单元测试 UNIT TEST

注:本文系作者原创,可随意转载,但请注明出处。如实在不愿注明可留空,强烈反对更改原创出处。

TDD(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。单元测试是最基本的测试步骤。位于整个产品开发流程V模型的最底部。
大致如图,在各种开发流程中RA&PSD完成后,无需底层基础,UAT方案即可完成,下面的步骤也一样。UT做为底层和CODING同样重要的步骤,是每个CODER必须掌握的基础。
RA( Requirement Analysis)  &
PSD ( Productive Specification Design)              UAT( User Acceptance Testing)
                          \                                                              /
                            \                                                          /
                              \                                                      /
FSD(Functional Specification Design)             SIT(System Integration Testing)
                                \                                                 /
                                  \                                             /
                                    \                                         /
                           Construction(Coding)         UT(Unit Tesing)
                                         \                              /
                                            \                         /
                                                \                   /
                                                  \              /
                                                     \         /
                                                        \    /
                                                          \/
在小量代码编写时,往往可以通过新建控制台项目(Console Application),新建网站项目(Web Form)等,在其中敲入测试代码来进行测试。一旦代码量及逻辑关系变得复杂,这种测试将难以展开,并且不具备可维护性。而且很多功能性的代码,不能完全脱离整个项目来实现。比如在某WEB项目中有一个类库,写了一些MODEL层的方法,为了验证方法的正确性,若要测试该方法,可能不得不引用项目中大量的模型,接口,以及库函数。等到编译可以通过了,却发现你必须登录才能调用该方法或者您所在的目录(Directory)根本不具备访问权限,于是又不得不去修改Authorization配置或者添加登录等方法。于是一层层下来,你的测试几乎涉及的项目的各个角落,而该测试方案又不具备高度的重用性。
下面我们以VS2012为例,来看一下如何在Visual Studio中进行单元测试。
1.首先,右键点击解决方案(Solution)弹出右键菜单(Context)。选择添加(Add) - 新项目(New Project), 在给出的模版中,选择 Visual C# - Test -Unit Test Project 如图。

2.得到模版如图。

3.在测试方法中(此处为默认的TestMethod1,一般修改为 需要测试的方法名+Test )添加自己需要测试的代码。不过在此之前,首先要引用需要测试的项目以及需要用到的类库。 此例中,我引用了微软的MVC4.0框架,以及需要测试的项目中的Controller。在此我测试该Controller的ProductCategories()方法。该方法返回一个ActionResult。测试代码中有3行,第一行用来实例化controller,第二行调用controller的方法。如果仅以该2行进行测试通过,则说明代码无语法问题,可以和其他各部分配合工作。第三行用了一个断言来检测方法返回的result是否为空。此处我断言它非空,如果为空,测试将会失败报错。
 
4。测试代码写好后, 即可点击上方菜单Test-Run- AllTests等,来进行测试。
 
测试完毕后。下方会产生结果列表。红色为未通过的TestCase。若想对其进行DEBUG,可右击红色的TestCase,选择Debug selected Tests。修改后,也可右击想要重新测试的TestCase,选择Run Selected Tests.

时间: 2024-12-24 21:29:13

Visual Studio 中的单元测试 UNIT TEST的相关文章

在Visual Studio中使用MonoTouch开发iOS应用程序(下):开发体验

对于熟悉.NET程序员来说,编写iOS应用程序的最佳选择自然是MonoTouch.在上一篇文章里,我们已经在Mac OS X上安装了MonoTouch开发环境,并已经能够在Mac OS X和Windows之间共享文件.现在我们就可以来简单体验一下,如何使用Visual Studio,Interface Builder以及少量的MonoDevelop来开发一个最最简单的iOS应用程序. 新建项目 根据我的个人习惯,我会先创建一个空白的解决方案.首先在Mac OS X中打开MonoDevelop,然

使用Visual Studio 2013进行单元测试--初级篇

原文:使用Visual Studio 2013进行单元测试--初级篇 1.打开VS2013 --> 新建一个项目.这里我们默认创建一个控制台项目.取名为UnitTestDemo 2.在解决方案里面新增一个单元测试项目.取名为UnitTestDemoTest 创建完毕后项目结构大概如下:   3.进入控制台项目UnitTestDemo的Program类,创建一个Add方法. namespace UnitTestDemo { class Program { static void Main(stri

在Visual Studio中以编程方式自定义SharePoint网站入门

Microsoft Visual Studio 2005 集成开发环境 (IDE) 提供了用于自定义基于 Windows SharePoint Services 的网站的首选环境.例如,您可以创建 Windows 应用程序.控制台应用程序或类库,以及基于 浏览器的 Web 应用程序(在 Visual Studio 中,此应有程序称作"ASP.NET 网站"或"Web 应用程序" )和实现 Windows SharePoint Services 对象模型的 Web 服

在dll中寻找Visual Studio中的图标

在以前的一篇文章:WF4.0工作流设计器,在WPF中宿主了一个工作流设计器 ,它的工具栏如下图: 你会发现工具栏上的活动统统没有图标,而在Visual Studio中WF设计器工具 栏如下图:

ASP.NET MVC在Visual Studio中的快捷键

在Visual Studio中有一些不错的快捷键,可以帮助我们在ASP.NET MVC Web Project中快速创建 Controller.创建Views以及在Controller Action和View之间切换. ASP.NET MVC快捷键列表如下: -创建Controller:Ctrl+M Ctrl+C -创建View:Ctrl+M Ctrl+V View与Controller Action之间窗口切换:Ctrl+M Ctrl+G 这些快捷键很好用而且容易记,C是Controller的

在Visual Studio中使用Bookmark

在Visual Studio中有一些非常cool的使用BookMark的快捷键.在我认识的开发人员,很多都没有使用过这个功能. 所有写下来,推荐一下这个小功能. Visual Studio中的Bookmark能加速代码导航能力.可能有一些代码,需要频繁的相互切换.通常你可能是滚动页面,找到该代码块的.Visual Studio已经提供了通过使用快捷键,非常快速地移动到指定的代码段.这就是代码的书签功能. 下面是使用该功能的工具按钮,它们位于菜单栏上. 三种方式创建书签:1.通过点击书签图标,2.

Visual studio 中win32控制台应用程序和空项目有什么却别?

问题描述 Visual studio 中win32控制台应用程序和空项目有什么却别? 如果你不知道有什么区别,可以先运行一下,这些代码. http://ask.csdn.net/questions/187617 可以正常的在win32控制台应用程序建的工程上运行. 在空项目,就会有帖子上的错误. 下边回答的空项目的图片传错了,应该是: 解决方案 空项目没有默认包含和使用的库,链接器也没有配置为控制台,这些都需要手工设置. 但是,你完全可以通过创建空项目,并且手工设置,达到和创建任何一种项目,包括

C#反编译出来的.resources文件怎么在visual studio中导入到项目中

问题描述 C#反编译出来的.resources文件怎么在visual studio中导入到项目中 C#反编译出来的.resources文件怎么在visual studio中导入到项目中 不然把代码编译之后总是报异常 缺少.resource文件 请教了,多谢! 解决方案 1.资源文件格式转换,将.resources(二进制)文件转成.resx文件(XML) 用Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1Bin下 resgen.exe 格

如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目

原文: 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目 本主题介绍如何在以下产品中使用 一键式发布 发布(部署)Web 应用程序项目: Visual Studio 2012 Visual Studio Express 2012 for Web 与 的Visual Studio 2010 Visual Studio Web发布更新 与 的Visual Web Developer 2010 Express Visual Studio Web发布更新 您可以部署到任