张翼飞软件工程教学

导航

Microsoft Visual Studio 2010 VSTS单元测试指南

      本来以为很简单的一个问题,今天预计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、一般情况下在几秒后即可出现测试结果,如果你点击运行后发现系统一直在运行中并且没有任何反应,那么恭喜你估计和我一样系统安装的有问题,可以卸载重装一下试试,或者试着找一下解决办法,如果找到了一定告诉我。

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

 

posted on 2016-03-16 21:34  Vincent_Z  阅读(848)  评论(0编辑  收藏  举报