关于Visual Studio 2008:如何使用MSTest / VS2008缓解TDD
How to Ease TDD with MSTest / VS2008我一次又一次地读到,与其他测试框架(例如nUnit,MBUnit等)相比,使用MSTest进行TDD /测试首先要困难得多。有哪些建议的手动解决方法和/或建议的第三方建议? 由于基础架构政策,MSTest是唯一的选择吗? 我主要是想知道VS 2008 Team Suite,但是我想开始使用VS 2008 Pro的技巧也很合适,因为这些版本现在也包含一些MSTest功能。 MSTest当然不如某些开源框架有效或可扩展,但它是可行的。由于该问题是关于使用MSTest使生活更轻松而不是替代方法,因此这里是我的MSTest提示。
如果您别无选择,只能使用MSTest,请学习键盘快捷键。它们会让您的生活更轻松。
在当前上下文中测试:CTRL + R,T
当前上下文中的调试测试:CTRL + R,CTRL + T 我很好奇我不明白的是,人们开始比较MSTest提供的所有开放源代码工具并开始抨击它。评论它是多么的笨拙,多么的不合理等等。恕我直言,这是因为它与xUnit框架有根本的不同。针对并行执行进行了优化。 即使是静态的ClassInitialze和Cleanup,以及每个测试都具有唯一的TestContext的问题,都是因为下一代-至少对于MS语言的Windows业务程序员而言-并行编程概念。 我不幸地在一个拥有成千上万个单元测试的项目中工作。他们过去几乎占用了大部分构建时间!使用MSTest,我们可以将时间缩短到非常可管理的时间范围。 我的同事Mike Hadlow很好地总结了为什么我们完全不喜欢MSTest。 他设法将其从项目中删除,但我目前正在从事一个涉及更多政治事务的大型项目,因此我们仍在使用它。 结果是,实施MSTest的任何人都不了解TDD。我很抱歉听起来像是M $破烂者-我真的不是。但是我很烦恼我不得不忍受一个非常糟糕的工具。 如前所述,oyu需要安装完整的IDE才能在另一台计算机上使用MSTest,这有点废话。我想这是因为他们希望确保单元测试仅在高端视觉工作室上可用,并且您可以以任何其他方式运行它们。
另外,MSTest相当慢,这是因为在每个测试之间,它都会为每个测试重建整个上下文,这可以确保以前的测试-失败或不影响当前的测试,但是会降低速度。但是,您可以使用/ noisolation标志,它将在MSTest进程中运行所有测试-更快。
它太难使用了,有很多更好的选择。
mstest有许多配置文件,因此操作性较差。 我建议仅在构建过程中将mbunit作为依赖项运行,它很容易将其与bin一起浮动,并提供引用,无需安装。 我还没有看到与MSTest有关的任何严重问题。具体来说,您在说什么?实际上,我们正在从NUnit转向MSTest。不过,我不知道我们这样做的原因。 我已经使用NUnit进行了TDD开发多年,由于角色变更,现在已经使用MSTest大约4个月了。 我认为MSTest不会阻止某人进行TDD。您仍然拥有TDD所需的所有核心内容,例如基本的断言和模拟框架(我使用Rhino Mocks)。 MSTest确实与Visual Studio紧密集成,此集成的最佳组件是内置的代码覆盖率工具。
但
这意味着编写断言需要花费更多的代码,而测试运行速度慢则意味着整个过程比NUnit慢。
如果您将TFS用于CI,则需要跳过几个步骤才能使NUnit发布测试结果。相比之下,使用MSTest在TFS上运行测试非常简单明了。
要回答一个非针对性的问题,我的答案是
免责声明:我没有使用xUnit的MS版本的实际经验,但是我听到诸如"您需要安装庞大的想法才能在单独的计算机上运行测试"之类的问题-这是完全不可以的。 我将停止我的讲道..现在:) |
相关内容
-
如何使用selenium+TestNG做web数据驱动测试
如何使用selenium+TestNG做web数据驱动测试,数据库,数据,本文...
-
金蝶kis专业版技巧|如何使用金蝶KIS专业版
金蝶kis专业版技巧|如何使用金蝶KIS专业版,,1.如何使用金蝶KIS...
-
电脑换新主板需要多少钱|换电脑主板得多少钱
电脑换新主板需要多少钱|换电脑主板得多少钱,,换电脑主板得多...
-
笔记本电脑开机蓝屏|笔记本电脑开机蓝屏怎么解
笔记本电脑开机蓝屏|笔记本电脑开机蓝屏怎么解决方法,,笔记本...
-
如何使用计算机加速引导盘
如何使用计算机加速引导盘,,点评:随着磁盘读写速度的大大提高,U...
-
如何使用笔记本wifi
如何使用笔记本wifi,,无线上网笔记本分为两种,一个是连接无线局...
-
如何使用PS给风景添加一些元素?用PS给城市风景
如何使用PS给风景添加一些元素?用PS给城市风景添加云彩元素...
-
如何使用790gx主板攒机搭配的CPU
如何使用790gx主板攒机搭配的CPU,,The integration of HD 3300...
-
电脑打印机传真怎么用|如何使用打印机传真
电脑打印机传真怎么用|如何使用打印机传真,,如何使用打印机传...
-
台式机开机后键盘没反应的解决方法
台式机开机后键盘没反应的解决方法,台式机,开机,键盘,计算机(co...
-
Win10设置锁屏后立即关闭屏幕的解决方法
Win10设置锁屏后立即关闭屏幕的解决方法,解决方法,屏幕, 正...
-
电脑死机的解决方法|电脑死机怎办
电脑死机的解决方法|电脑死机怎办,,电脑死机怎办word文档卡死...
-
惠普笔记本如何使用惠普笔记本
惠普笔记本如何使用惠普笔记本,,惠普笔记本相信每个人都不会陌...
-
移动硬盘如何使用移动硬盘维护知识
移动硬盘如何使用移动硬盘维护知识,,现在移动硬盘的广泛使用和...
-
Win10系统电脑磁盘清理垃圾文件的解决方法
Win10系统电脑磁盘清理垃圾文件的解决方法,解决方法,磁盘, ...