VS 2012 的 单元测试 和 测试资源管理器

看到一篇好文章《基于VS2012 Fakes框架的TDD实战——接口模拟》,顺便学习下VS2012的单元测试,做了以下笔记和大家分享。VS 2012 我想最大的改变就是 可以支持各种不同的 Unit Test Framework 以及 内建 Fake 机制,以前若是想要在 VS 中整合接口和 Team Build 就变成一定要用 MS Test Framework

现在您可以在您的项目当中自行选择 NUnit 或是 xUnit 之类的套件.

而且这次的测试资源管理器也完全以”信息为主”,可以在一个地方呈现最重要的信息而不需要再一直切换界面。

测试清单 以及 执行 单元测试的时间 ,这对于我们来说已经是很足够了,可以看到 全新增加了测试资源管理器全部执行后会“自动查找”出符合要测试的项目,并且默认以“错误”为主的清单来呈现 ( 因为有错误才需要我们来看,没有错的话就不用理它们啦 ),点选项目后也不会再像以前会另外开新的页面,现在则是直接在下面的列出信息,以前只会跟你讲说 单元测试用例那一行挂掉,现在就直接跟您说是那一行挂掉。看到这里是不是很贴心?点两下就搞定!不用再自已进去找了。

当我们习惯了单元测试之后,你不由自主地就会执行一下看看有没有错误,但 单元测试增加到上百个的时候,你就不会想要每次改一个小地方都全部重新测试,因为这实在是没有什么太大的意义,而且也是浪费自已的时间。在 VS 2010 中就只会帮你勾选测试失败的清单,但说真的,毕竟不太简单了,这次变更成几个选项,可以让我们依不同的情况来选择适合的测试清单。而且这有个非常大的好处就是可以让我们 聚焦在已知的错误中。另外,分析程序代码涵盖范围的机制也有改变了,变成要执行分析后才会真正开始做,重点是也不需去做任何的配置 ( VS 2010 要先配置好才会正常运行),如果想要每次编译后就自动执行单元测试,那么请开启“Run Tests After Build”这个选项。

接下来只要编译完成后就会自动执行单元测试。

VS 2012 内建了 Fake 机制 ,简单来说就是可以用假的数据,替换掉 某一个 Method 回传的值, 而且VS 2012 除了自定义的 Class 外,也可以产生 .NET Framework 的 Fake Class 。详细内容请参考《基于VS2012 Fakes框架的TDD实战——接口模拟》。

在 VS 2010 以前都会分别产生负责测试的 vsmdi 和 测试相关设定的 testRunConfig 文件,大家都知道 VS 2012 这次就算升级后,也是可以让 VS 2010 (SP1)同时编辑的。虽然这两个文件在这次 VS 2012 中就用不到了,但如果您想要让 VS 2010(sp1) 也可以编辑的话,这两个文件就请保留着,就可以让 VS 2010 项目中持续地做单元测试,但是您用了 NUnit 、xUnit 这种非 MS Unit Test Framework 的话,在 VS 2010 是不能直接用的哦。

在 Test Result 中也和以前不太一样了,除了原本的 Test Result 目录外,还增加了 UTE Test DB。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏landv

win 8.1_64 安装usb 转串口驱动

1875
来自专栏Golang语言社区

不是语言之争--Go vs Erlang

因为 云巴 系统对高并发、低延迟的需求,我们对各个语言、平台做了很多的调研比较工作。这自然就包括致力于开发高并发应用的 Go 和 Erlang。 并发 Go 对...

3269
来自专栏java架构学习交流

通过Struts了解MVC框架,兼说如何在面试中利用Struts证明自己

    虽然目前Struts MVC框架不怎么用了,但它确是个能帮助大家很好地入门Web MVC框架,而且,一些历史项目可能还用Struts,反正技多不压身,大...

1957
来自专栏人工智能的秘密

教你如何用Python写一个小游戏

最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏、后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大...

1.9K7
来自专栏PHP在线

缓存更新的套路

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作...

37813
来自专栏惶心 - 技术博客

使用 Chocolatey 安装基于 Python 的视频下载程序

之前在构思新项目 HXCO Get 的时候,群里的某 @XTL 就向我推荐了 Chocolatey 这个 Windows 下的包管理器。当时并没有什么用,但是后...

3344
来自专栏H2Cloud

C++ 后台程序实时性能监控

面对的问题: 做后台程序经常会被问一句话,你的程序能撑多少人。一般官方一点的回答是这个得根据实际情况而定。实际上后台程序的性能是可以被量化的。我们开发的每一个服...

4258
来自专栏Java技术栈

老板让你抗住千万级流量,如何做架构设计?

随着互联网的发展,各项软件的客户量日益增多,当客户量达到一定峰值时,当数以万计的流量来临时,程序的顺利运行以及即时响应则显得尤为重要,就像双11那天的淘宝一样。...

1082
来自专栏后台技术

golang定位内存泄露与cpu占用过高的方法与实战

现在使用golang的项目越来越多,但是当golang发生内存泄露或cpu占用过高时,怎么定位呢?其实很简单,按如下所述步骤操作即可:

5K5
来自专栏逸鹏说道

AI---Anaconda For Linux (附C#交互式编程的引入)

Jupyter美化: https://www.cnblogs.com/dotnetcrazy/p/8760189.html

1414

扫码关注云+社区

领取腾讯云代金券