原文:使用Visual Studio进行单元测试

一、使用Visual Studio进行单元测试的几个建议

1.先写单元测试(依我愚见,应该是接口先行,如果有的话) -> 测试失败 -> 以最小的改动(即编写实际代码)使测试通过(而在VS2012中已经不能通过现有项目直接生成测试项目了,我觉得这个功能还是应该保留,微软总是这副德行,强迫用户适应他们的产品,但是又不得不适应);

2.不因单元测试而追加功能(代码),即逻辑不受单元测试影响;

3.改变了代码的逻辑(增删改),应及时运行单元测试;

4.在测试方法声明Attribute —— TestCategory("分类或特征名");

5.在单元测试项目添加Fakes程序集分离外部依赖(如数据库访问,获取配置信息等);

6.初始化单元测试类中的成员等信息,可添加方法并声明Attribute[TestInitialize](方法需为public);

二、下面我们以VS2012为例,来看一下如何在Visual Studio中进行单元测试

1.首先,右键点击解决方案(Solution)弹出右键菜单(Context)

选择添加(Add) - 新项目(New Project), 在给出的模版中,选择 Visual C# - Test -Unit Test Project 如图。

2.得到模版如图

3.在测试方法中(此处为默认的TestMethod1,一般修改为 需要测试的方法名+Test )添加自己需要测试的代码

例如添加类XmlSerializationTest,代码如下:

C# 代码   复制
[TestClass]
public class XmlSerializationTest { private XmlSerialization serialization; [TestInitialize] public void InitTest() { this.serialization = new XmlSerialization(@"F:\\usermodel.seri"); } [TestMethod] public void TestWriteXml() { UserModel user = new UserModel(); bool flag = serialization.WriteXml<UserModel>(user); Assert.IsTrue(flag); Assert.IsFalse(serialization.WriteXml<UserModel>(null)); } [TestMethod] public void TestReadXml() { UserModel user = new UserModel(); user.LoginName = "aa"; serialization.WriteXml<UserModel>(user); UserModel model = serialization.ReadXml<UserModel>(); Assert.IsNotNull(model); Assert.AreEqual(user.LoginName, model.LoginName); //路径不存在,应返回null  UserModel modelnull = serialization.ReadXml<UserModel>(@"F:\\notexists.seri"); Assert.IsNull(modelnull); } } 

4。测试代码写好后, 即可点击上方菜单Test-Run- AllTests等,来进行测试

测试完毕后。下方会产生结果列表。红色为未通过的TestCase。若想对其进行DEBUG,可右击红色的TestCase,选择Debug selected Tests。修改后,也可右击想要重新测试的TestCase,选择Run Selected Tests.

使用Visual Studio进行单元测试相关推荐

  1. Visual Studio 2008单元测试实践一

    关键字:单元测试,Visual Studio 2008 单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试. 在一种传统的 ...

  2. Visual Studio 2010 单元测试之一---普通单元测试:http://blog.csdn.net/tjvictor/archive/2011/02/09/6175362.aspx...

    本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试. 首先来介绍普通单元测试,这是进行顺序测试.压力测试的基础.如果在Visual Studio 2 ...

  3. 【MVC 4】4.MVC 基本工具(Visual Studio 的单元测试、使用Moq)

     作者:[美]Adam Freeman      来源:<精通ASP.NET MVC 4> 3.Visual Studio 的单元测试 有很多.NET单元测试包,其中很多是开源和免费的.本 ...

  4. Visual Studio 2008 单元测试

    开发组件的时候使用VS集成的单元测试功能会很方便 1.新建一个类库项目,并为其中的类添加一个方法,方法任意 之后右键点击代码窗口 选择方法 为新建项目命名 然后在解决方案管理中就多了相应的Test P ...

  5. Visual Studio 2015 单元测试(c++初试)

    在新建完成一段c++代码之后,我们往往需要对代码进行测试,这时,就需要用到一个工具--单元测试(unit test). 第一步:我们需要在解决方案处右键->添加->新建项目. 第二步:选择 ...

  6. Visual Studio 单元测试之二---顺序单元测试

    此文是上一篇博文:Visual Studio 单元测试之一---普通单元测试的后续篇章.如果读者对Visual Studio的单元测试不熟悉的话,请先参看上一篇.http://blog.csdn.ne ...

  7. 【C++】Visual Studio教程(四) - Visual Studio其它功能

    00. 目录 文章目录 00. 目录 01. 模块化安装 02. 创建 Azure 云启用应用 03. 创建 web 应用 04. 生成跨平台应用和游戏 05. 连接到数据库 06. 调试.测试和改进 ...

  8. 使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码...

    PS:微软专家写的一往篇VSTS2005测试功能说明,非常详细.适合初学者查看. 适用于: Microsoft Visual Studio 2005 Team System Beta 2 Team A ...

  9. 带你玩转Visual Studio——单元测试

    上一篇文章带你玩转Visual Studio--性能分析与优化讲了找出性能瓶颈和性能优化相关的技能,在大型企业项目的开发中,性能是固然重要的,而另一个过程--测试也是必不可少的.测试有很多的各类:功能 ...

最新文章

  1. 爬虫之 lxml模块和xpath语法
  2. 记录一次生产环境中Redis内存增长异常排查全流程!
  3. 【总结整理】如何做需求分析(转)
  4. 数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing
  5. Django Models 多条件查询 以及Q/F查询
  6. KRKR简单使用实例开发
  7. iOS应用如何支持IPV6
  8. python设置label的位置_Python3 tkinter基础 Label pack 设置控件在窗体中的位置
  9. 二叉搜索树的删除操作可以交换吗_JavaScript数据结构 — 二叉搜索树(BST)ES6实现...
  10. 数据库MySQL基础---事务相关特性--连接池DBCP--C3P0--JavaBean--DBUtils工具
  11. Android笔记 simpleAdapter demo
  12. rails ruby 中对于使用Savon请求web service 获取到大量json数据的处理
  13. 银行按揭借款合同范本
  14. STM32HAL库IIC驱动SH1108芯片OLED屏
  15. Java物流项目第一天 项目概述与基础数据服务开发
  16. python数据库-2
  17. RFSoC应用笔记 - RF数据转换器 -22- API使用指南之配置DAC相关工作状态和中断相关函数使用
  18. 一部电影,一种人生 (会议分享表述用)
  19. 一年中重要的节日列表_一年中所有节日一览表
  20. 【Vue入门实践】Element-UI 树形组件el-tree的组件封装 =>实现组织机构树Tree => 使用vue-content-menu定制可编辑树结构editableTree

热门文章

  1. 字典树从第i个构造HDU2846
  2. JAVA中CLASS.FORNAME的含义
  3. 高清网络视频无损FLV教程
  4. 诗与远方:无题(六十四)- 杂诗
  5. ProtoBuf3语法指南(Protocol Buffers)_上
  6. SpringCloud创建Eureka Client服务注册
  7. VUE:EventHub
  8. 南通大学计算机学院何鹏,南通大学第一次自主评教授,加油!再评多点。
  9. 接口与抽象类区别和接口jdk8新特性
  10. i2c总线注意事项和在linux下使用实战