使用Visual Studio进行单元测试

时间:2022-08-30 02:24:43

一、使用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 如图。

使用Visual Studio进行单元测试

2.得到模版如图

使用Visual Studio进行单元测试

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

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

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

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

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

使用Visual Studio进行单元测试的更多相关文章

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

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

  2. &lbrack;转&rsqb;Visual Studio 2010 单元测试目录

    Visual Studio 2010 单元测试共分七个部分: 普通单元测试.顺序单元测试.压力测试,Generic测试.数据库测试.UI界面测试和Web性能测试. 这个系列的博客实例程序可以在下面的链 ...

  3. Visual Studio 2010 单元测试目录

    单元测试的重要性这里我就不多说了,以前大家一直使用NUnit来进行单元测试,其实早在Visual Studio 2005里面,微软就已经集成了一个叫Test的专门测试插件,经过几年的发展,这个工具现在 ...

  4. Visual Studio 2010 单元测试之一---普通单元测试

    原文:Visual Studio 2010 单元测试之一---普通单元测试 本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试. 首先来介绍普通单元 ...

  5. Visual Studio 2010 单元测试--运行测试并查看代码覆盖率

    原文:Visual Studio 2010 单元测试--运行测试并查看代码覆盖率 运行测试并查看代码覆盖率对程序集中的代码运行测试时,可以通过收集代码覆盖率数据来查看正在测试的项目代码部分. 运行测试 ...

  6. MVC 基本工具(Visual Studio 的单元测试、使用Moq)

    3.Visual Studio 的单元测试 有很多.NET单元测试包,其中很多是开源和免费的.本文打算使用 Visual Studio 附带的内建单元测试支持,但其他一些.NET单元测试包也是可用的. ...

  7. &lbrack;转&rsqb;Visual Studio 2010单元测试(2)--运行测试并查看代码覆盖率

    Visual Studio 2010 单元测试--运行测试并查看代码覆盖率 运行测试并查看代码覆盖率对程序集中的代码运行测试时,可以通过收集代码覆盖率数据来查看正在测试的项目代码部分. 运行测试并查看 ...

  8. C&num; Note31: 如何使用Visual Studio做单元测试

    待更! 使用Visual Studio 2013进行单元测试--初级篇 带你玩转Visual Studio——单元测试(C++例)

  9. 使用Visual Studio进行单元测试-Part5

    本文主要介绍Visual Studio(2012+)单元测试框架的一些技巧: 如何模拟类的静态构造函数 如何测试某方法被调用过 如何测试某方法执行的次数 并行编程测试注意事项 一.如何模拟类的静态构造 ...

随机推荐

  1. 在web中使用windows控件,实现摄像头功能

    最近做的一个Web版的视频会议项目,需要在网页中播放来自远程摄像头采集的实时视频,我们已经有了播放远程实时视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,A ...

  2. Acronis 备份使用

    1:至Acronis 中国官网,可了解到:Acronis True Image 是PC产品,Acronis Backup是企业产品 2:Acronis Backup 11.5.0.39029 :htt ...

  3. 转载:在Visual Studio 2013中管理*Windows Azure

    原文链接: http://www.pstips.net/get-azurechinacloud-settings.html 谷歌被豪迈地放弃了中国市场,微软仍旧在中国市场摸爬滚打,跪着挣钱.其中私人定 ...

  4. 【 D3&period;js 入门系列 — 2 】 绑定数据和选择元素

    1. 如何绑定数据 D3 有一个很独特的功能:能将数据绑定到 DOM 上,也就是绑定到文档上.这么说可能不好理解,例如网页中有段落元素<p>,我们可以将整数 5 与 <p>绑定 ...

  5. 基础SELECT示例掌握

    SELECT查询语句 ---进行单条记录.多条记录.单表.多表.子查询-- SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [MAX_ST ...

  6. EXISTS&sol;NOT EXISTS CASE WHEN等使用方法

    --简单判断用法 WHERE EXISTS (SELECT * FROM cpay..System_Setting) --可以替换count ) FROM cpay..System_Setting U ...

  7. 【Qt编程】基于Qt的词典开发系列&lt&semi;十&gt&semi;--国际音标的显示

    在年前的一篇文章中,我提到要学习Qt.于是在这学期看了一个月的qt.现在大致对qt有了一些了解.但是现在导师又把我调到了android应用开发平台,所以说qt的学习要搁置了.本打算这学期做一个单词查询 ...

  8. PS 滤镜算法原理——曝光过度

    这个算法的原理,就是将图像反相,然后分别比较原图与反相后的图三个通道的大小,将小的值输出. clc; clear all; Image=imread('4.jpg'); Image=double(Im ...

  9. Spring Boot 学习视频

    1. Spring Boot  项目实战 ----- 技术栈博客企业前后端 链接:https://pan.baidu.com/s/1hueViq4 密码:4ma8 2.Spring Boot  项目实 ...

  10. pip 离线安装

    pip download ansible -d . --trusted-host mirrors.aliyun.com pip install ansible-2.7.5.tar.gz  --user ...