本来以为很简单的一个问题,今天预计10分钟搞定,结果到下班还没弄出结果,单元测试运行的时候一直处于无反应状态,最后估计可能是我装的2010有问题,结果到家一试果然是有问题,有时软件就是这么神奇。

言归正传,本次作业的目的是让大家熟悉一下开发工具的安装和单元测试工具的使用。VSTS可以实现自动测试,这个说复杂也复杂,说简单也简单,简而言之就是编写一个测试程序的程序,通过输入自动判断输出是否与预想相符,并给出代码覆盖率等等一大堆统计数据,再详细的内容大家自行上网上查,这里只给出如何利用这一功能的简介。

1、工具安装,从Microsoft Visual Studio 2005版开始就已经提供了VSTS工具包,但是建议大家最好安装2010版以上的,原因嘛。。。反正有新的干嘛用旧的,具体安装过程这里就不介绍了,没有什么需要特殊配置的,基本上一直下一步即可。

2、创建一个类,这个类其实就是你要完成的某一个具体功能,如我们的第一个作业,这里我们用书上的例子,建一个类库,其实类库和我们以前用的函数库是一个意思,本身并不是一个可运行的系统,它提供一系列操作,完成相应功能 。

3、点击新建项目,这里我们建一个C#的类库。

4、点击确定后,进入代码编辑界面,这其实就是一个类,可以写下书中代码。

  namespace DemoUser
  {
    public class User
    {
      public User(string userEmail)
      {
        m_email = userEmail;
      }
      private string m_email;
    }
  }

5、这是一段简单的C#语言编写的类,namespace是命名空间,作用类似于java的包,但是有区别,具体大家自己百度之,这里只给出一个构建函数和一个私有变量。类创建完了,下面就可以为其创建单元测试,所谓单元测试顾名思义就是只测试一个功能函数或方法,可以有很多种方法,这里介绍一种比较方便的,其它方法大家自行查询网上资料。将鼠标定位到User类的构造方法中,然后点右键,弹出下图菜单,单击创建单元测试。

  6、在弹出的对话框中选择要测试的函数单击确定。

  7、输入新项目的名称,单击创建。

  8、这时在左侧或右侧的解决方案资源管理器中就会发现有一个新建项目。

  9、大家在UserTest.cs中可以发现系统已经自动为你的User构造方法创建了一个方法,这就是自动测试的含义了,注意这个方法的上面必须要有[Testmethod()]这条语句,并且可以像书中那样增加其它一些内容,具体自己上网查找。自动创建的语句一般是无法实现自动测试的,必须修改其中的一些内容,一般主要方法是初始化输入、创建实例、验证结果,具体如下面语句,按F6键编译。

  [TestMethod()]
  public void UserConstructorTest()
  {
    string userEmail = "zhanglsh@163.com"; // 初始化为适当的值
    User target = new User(userEmail); //为被测试对象创建用例
    Assert.IsTrue(target != null);//比较实际结果和期望结果
  }

  10、在菜单栏中查找:测试→窗口→测试列表编辑器。

  11、如果在菜单中找不到测试这一项说明你未安装相应的工具包,可以重新修复,在测试列表编辑器中选中要测试的项目,然后点击运行或调试选中的测试,即可完成测试操作。

  12、一般情况下在几秒后即可出现测试结果,如果你点击运行后发现系统一直在运行中并且没有任何反应,那么恭喜你估计和我一样系统安装的有问题,可以卸载重装一下试试,或者试着找一下解决办法,如果找到了一定告诉我。

  希望大家最好能把你的第一个项目作为测试对象,大家成功后一定像我这样把整个过程全部写到博客上,经验就是这么积累的,大家努力吧!

Microsoft Visual Studio 2010 VSTS单元测试指南的更多相关文章

  1. Microsoft Visual Studio 2013 VSTS单元测试指南

    安装vs2013时并未安装VSTS工具包,所以在工具栏:工具->拓展和更新   进行下载安装 vs13已经用了两年了,相比于之前老师推荐的vc6.0感觉要强出很多,刚上手时感觉比较困难,在使用一 ...

  2. Microsoft Visual Studio 2010中文版编译SQLlite3.7.0版

    作为一名教师,没有具体项目的开发,却喜欢尝鲜,不经意间开始追星了. 换了Win7,安装了Microsoft Visual Studio 2010中文版,7月22日SQLite发布了3.7.0版.当然想 ...

  3. win8 64位操作系统 Microsoft Visual Studio 2010在IIS上调试 “此任务要求应用程序具有提升的权限”等问题

    很少在IIS上调试程序,因系统原因,所以不得不在IIS上预览项目和调试项目(因为只能在IIS上预览项目才能看到项目里的数据). 1.附加到进程(注意附加到进程前必须预览项目) 2.选择调试项 需要注意 ...

  4. Microsoft Visual Studio 2010 遇到了异常,可能是由某个扩展导致的。 转载

    问题: 今天打开好久没用的Microsoft Visual Studio 2010 ,刚才创建了一个C++工程,错误就出现了. 只要在VS2010源码编辑器中输入一个字符,它就报错 ":Mi ...

  5. C++笔记001:Microsoft Visual Studio 2010软件的安装与建立第一个cpp文件

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 我学习C++使用软件为Microsoft Visual Studio 2010. 首先,软件的安装包 链接:https://pan.bai ...

  6. Microsoft Visual Studio 2010(vs10)安装与使用

    安装1.下载软件: 云盘分享http://pan.baidu.com/s/1i4JL9GT 2.安装 打开Microsoft Visual Studio 2010目录,双击setup.exe ,运行 ...

  7. Microsoft Visual Studio 2010下log4cplus的安装,集成,测试

    原文:http://blog.csdn.net/eclipser1987/article/details/6904301 log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工 ...

  8. Microsoft Visual Studio 2010导致系统C盘不断增大问题处理。

    一直用Microsoft Visual Studio 2010做开发,发现最近C盘空间是越来越小,一开始以为是IE或者一些系统补丁造成的临时文件,但是使用360,windows优化大师之类的软件都清过 ...

  9. vs2010下载Microsoft Visual Studio 2010 Express(vs2010中文版下载)速成官方合集正式版

    http://www.xiazaiba.com/html/1832.html VB.NET 2010 Express: 2KQT8-HV27P-GTTV9-2WBVV-M7X96VC++ 2010 E ...

随机推荐

  1. C Primer Plus(第五版)12

    第 12 章 存储类, 链接和内存管理 在本章中你将学习下列内容 . 关键字: auto, extern, static, register, const, volatile, restricted. ...

  2. zen coding和emmet

    zen coding 改名为 emmet http://emmet.io/download/

  3. 洛谷P3366 【模板】最小生成树

    P3366 [模板]最小生成树 319通过 791提交 题目提供者HansBug 标签 难度普及- 提交  讨论  题解 最新讨论 里面没有要输出orz的测试点 如果你用Prim写了半天都是W- 题目 ...

  4. python socket和socketserver

    Python提供了两个基本的socket模块.一个是socket,它提供了标准的BSD Socket API:另一个是socketServer,它提供了服务器中心类,可以简化网络服务器的开发. 下面先 ...

  5. leetcode 137

    137. Single Number II Given an array of integers, every element appears three times except for one. ...

  6. js加载顺序

    在jsp页面中引js文件,页面按照js顺序加载,若js中存在相同的方法,应该会执行顺序在前的js中的方法.有时候遇到js方法不执行或者执行不对的情况,可能就是js的顺序问题,有时候会找很久找不到问题. ...

  7. centos 6 initctl

    在centos6中有initctl 可以启动tty等.此命令在 upstart-0.6.5-10.el6.x86_64 rpm包中 或者 mingetty 命令启动 tty #initctl star ...

  8. Egret Wing3 FTP使用方法

    FTP 挺实用的,不用自己去申请sinasea什么的免费空间来测试项目了. 添加FTP服务器配置 默认就行. 指定目录上传至FTP服务器 选择免费云测试空间.然后选择bin-release/web目录 ...

  9. 对Web标准的理解。可用性和可访问性

    一Web标准 简单的说,就是HTML.CSS.JavaScript这三者分离.WEB标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentat ...

  10. mysql错误用法insert into where

    mysql中给表中插入数据,一般使用insert into. 但是在插入数据时,有时会根据条件来插入数据,比如insert into t_person(num,name) values(1,'lily ...