Fork me on GitHub

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

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

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

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

image

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

image

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

image

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

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。

image

posted @ 2012-08-26 10:00  张善友  阅读(14672)  评论(4编辑  收藏  举报