1.创建单元测试项目
 
 
 
2.创建完成后,新建项目会自动添加“Microsoft.VisualStudio.QualityTools.UnitTestFramework”的引用,该引用用于单元测试
 
 
 
3.新建项目中自动生成一个默认测试文件“UnitTest1.cs”,内容如下图
 
[TestClass]:为表示该类为测试类。
[TestMethod]:为测试方法,如测试类下有多个测试方法,开始执行测试用例时,自上往下挨个执行测试方法。
 
 
4.添加自己的测试方法,并使用测试类自带的断言方法“Assert.AreEqual(expected, actual); ”,用于比对结果是否正确。
expected:为预期结果
actual:为真实结果
 
 
5.开始执行测试用例
 
执行测试用例有三种方式:
  1. 将测试用例项目设置为启动项,和平常项目启动是一样的,F5启动,可以在测试用例方法出加个断点,方便查看
  2. 在测试用例方法出右键“运行测试”,如下图:

    也可以使用vs2010顶部菜单栏下的“测试”按钮进行运行或调试。

    运行结果:会提示是否成功,和失败原因

    现在将expected结果设置为3,运行成功如下图:

    将expected结果设置为1,运行失败如下图

    如VS2010上安装Reshape,右键出现“Run Unit Tests”和“Debug Unit Tests”按钮。分别表示,执行测试用例,和debug下执行测试用例。
    使用Reshape的测试用例启动按钮,有一个好处是可以使用Debug模式,如测试项目不是启动项,那这个功能尤为重要了。

    运行结果:
    预期只为1

    预期值为3

 

附加测试属性

"附加测试属性"。默认都是被注释掉的,只要我们取消注释就可以使用了。这个功能的加入,很大程度上是为了增加测试的灵活性。具体的属性有:

[ClassInitialize()]在运行类的第一个测试前先运行代码(使用该属性的方法,必须是参数为TestContext的带参方法)

[ClassCleanup()]在运行完类中的所有测试后再运行代码

[TestInitialize()]在运行每个测试前先运行代码

[TestCleanup()]在运行完每个测试后运行代码

如在执行测试时,将测试执行时间输入到日志中,代码如下

VS 2010下单元测试的更多相关文章

  1. VB.net 2010下关联与程序图标设置

    '*************************************************************************'**模 块 名:VB.net 2010下关联与程序 ...

  2. VC++2010下编译STLport,Boost

    VC++2010下编译STLport,Boost 最近在想向Boost转移,努力掌握Boost代码的过程中, STLport版本:5.2.1 Boost版本:1.4.6.1 (1.4.7.0也OK) ...

  3. SSH框架下单元测试的实现

    SSH框架下单元测试的实现 实现的功能 实现了部门的增删改查 对Action进行了单元测试 对Service 进行了单元测试,通过mock的方式实现. 实现的步骤 一.对Action层的单元测试实现 ...

  4. Microsoft Visual Studio 2010 VSTS单元测试指南

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

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

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

  6. 02_android下单元测试

    Java的单元测试JUnit. Java程序入口是main方法.一般不在安卓程序入口 @Override protected void onCreate(Bundle savedInstanceSta ...

  7. Visual Studio 2010 下 安装RGiesecke.DllExport

    RGiesecke.DllExport 在 UnmanagedExports 中.安装过程如下: 1.首先在"工具"菜单下的"扩展管理器"中,安装 NuGet ...

  8. VC 2010下安装OpenCV2.4.4

    说明: 安装平台:32位XP,VS2010: OpenCV 2.4.4不支持VC 6.0: 网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试 ...

  9. 转载 VC 2010下安装OpenCV2.4.4

    说明: 1.安装平台:32位XP,VS2010: 2.OpenCV 2.4.4不支持VC 6.0: 3.网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有 ...

随机推荐

  1. 【自动化测试】Selenium 2.0 学习笔记

    定位下拉框元素,要记得先把鼠标挪过去再进行定位. 定位元素用的是find_element_by.... python的模块化还要去思考下 unittest框架使用的时候,py文件命名不要用unitte ...

  2. SAS使用SPD引擎并报Encoding错误

     ERROR: Unable to open data file because its file encoding differs from the SAS session encoding and ...

  3. distinguish and differentiate

    According to Cambridge Dictionary distinguish:to recognize or understand the difference between two ...

  4. c#中const、static、readonly的区别

    1. const与readonly const ,其修饰的字段只能在自身声明时初始化. Readonly 是只读变量,属于运行时变量,可以在类初始化的时候改变它的值.该类型的字段,可以在声明或构造函数 ...

  5. 浅谈Android五大布局——LinearLayout、FrameLayout、AbsoulteLayout、RelativeLayout和TableLayout

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建 筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLa ...

  6. Windows执行打开文件命令

    ShellExecute(NULL, "open",  localFile.c_str(),  NULL, NULL, SW_SHOW);          会调用该文件类型关联的 ...

  7. MAC OSX 驱动操作

    mac ox系统的驱动安装常规操作:下载到 *.kext 的驱动以后,都可以直接把它拖到 /System/Library/Extensions/ 下替换掉原来的文件.替换了以后,还需要修复权限才能够正 ...

  8. C#语言基础01

    Console.WriteLine("hello"); Console.ReadKey();// 按一个按键继续执行 string s=Console.ReadLine();//用 ...

  9. bzoj 3757 苹果树(树上莫队算法)

    [题意] 有若干个询问,询问路径u,v上的颜色总数,另外有要求a,b,意为将a颜色看作b颜色. [思路] vfk真是神系列233. Quote: 用S(v, u)代表 v到u的路径上的结点的集合. 用 ...

  10. UNIX环境下用C语言写静态库与动态库

    静态库,动态库用UNIX 的术语来说,或者叫做归档文件(archive 常以.a 结尾)和共享对象(share object 常以lib 开头.so 结尾)更为准确.静态库,动态库可能是WINDOWS ...