我一次又一次地读到,使用MSTest比使用其他测试框架(如nUnit,MBUnit等)更难以进行TDD /测试...有什么建议的手动变通方法和/或第三方位,你建议什么时候MSTest是基础设施政策的唯一选择?我主要想知道的是VS 2008 Team Suite,但我认为VS 2008 Pro的提示也适用,因为这些版本现在也包含了一些MSTest功能.
MSTest肯定不像某些开源框架那样高效或可扩展,但它是可行的.由于问题是关于使用MSTest使生活更轻松而不是替代品,这里是我的MSTest提示.
快捷方式.像哈克德所说,花几秒钟学习捷径.
当前背景.由于MSTest速度很慢,因此只能在当前上下文中运行测试.(CTRL+R,CTRL+T).如果光标在测试方法中,则只运行该方法.如果光标位于方法之外,但在测试类中,则只会运行测试.并使用命名空间等
高效的测试和组织.它的狗很慢.通过编写有效的测试,尽可能做到最好.将慢速测试移动到其他测试类或项目,以便您可以更频繁地运行快速测试.
使用WCF进行测试.如果您正在测试服务,请确保进行DEBUG测试而不是RUN测试,以便Visual Studio可以启动ASP.NET开发Web服务器.在这些之后,你可以回到RUN,但是总是可以更容易调试,所以你不必考虑它.
配置文件.编辑测试运行配置以将.config文件移动到测试执行文件夹中.
与Source Safe集成.你需要知道MSTest讨厌SourceSafe,感觉是相互的.由于MSTest希望将测试文件置于源代码管理之下,并将它们添加到解决方案中,因此每次运行测试时都必须检查解决方案.所以SourceSafe必须以多次检出模式运行,以避免杀死你的同事.
忽略绒毛使用MSTest,您可以获得十几种不同的窗口和视图.测试运行,测试视图,测试列表......它们都不太有帮助.坚持测试结果,你会更快乐.
坚持"单元测试".添加新测试时,可以添加有序测试,单元测试或通过向导运行.坚持简单的单元测试.
如果您别无选择,只能使用MSTest,请学习键盘快捷键.他们会让你的生活更轻松一点.
测试在当前环境:CTRL+ R,T
在解决所有测试: CTRL+ R,A
当前上下文中的调试测试:CTRL+ R,CTRL+ T
调试解决方案中的所有测试: CTRL+ R,CTRL+A
我很好奇.我不明白的是人们开始比较MSTest提供的所有开源工具并开始抨击它.评论它是多么笨拙,如何无知等恕我直言,这是因为它与xUnit框架有根本的不同.它针对并行执行进行了优化.
即使是具有静态ClassInitialze和Cleanup并且每个测试都具有唯一TestContext的qurik都是因为nextgen - 至少对于MS语言的Windows业务程序员 - 并行编程概念.
我不幸在一个有数万个单元测试的项目中工作.他们过去几乎占用了大部分的构建时间!通过MSTest,我们将其降低到非常可管理的时间线.