2009-09-01 55 views
6

使用VS集成工具(如Testdriven.net)或使用像Icarus或NUnit GUI这样的GUI测试运行器之间有什么区别?Gallio Icarus与Testdriven.net

你喜欢什么?为什么?

到目前为止,我发现报告在Icarus中比在td.net中更好,它只具有命令行输出。 然而,td.net使用起来更快,我可以更轻松地执行单个测试,而无需先取消其他测试。 NCover集成也非常好。

回答

8

伊卡洛斯有一个很好的功能,让我使用它。这是测试的自动重新加载和重新运行。

我把Icarus盘旋在左边的监视器上。每次我在Visual Studio中构建时,Icarus都会重新加载程序集并运行所有测试。这有点像Resharper解决方案分析的即时反馈,除了测试而不是语法。运行测试是自动的,并且似乎不会影响Visual Studio的性能(可能是B/C Icarus是它自己的进程,而不是托管在IDE中)。

要启用此配置,请转至Icarus-> Options-> Test Explorer。选中“始终重新加载文件”和“重新加载后运行测试”。

+0

是的,我也是Digg的。唉,我的问题wether td.Net提供了任何好处。 – 2009-09-07 15:47:42

+0

在TD.Net的防御中,构建作为正在运行的单元测试的一部分运行,并且不占用屏幕空间。 – GregC 2011-04-13 16:09:06

+0

在Visual Studio中编辑代码时,真正很酷的功能是重新运行相关的单元测试。但是,你如何定义“相关?” – GregC 2011-04-13 16:10:37

3

您是否拥有持续集成服务器(如构建服务器,但运行单元测试)?

如果是这样,你可以设置gallio来运行你的单元测试,并在那里有所有的报告信息,同时允许开发人员在工作时使用更快的反馈。

如果没有选项,我更喜欢像Testdrvien那样集成到IDE中的东西。当重构一段代码或在TDD下开发新的东西时,即时反馈非常有用。此外,如果您没有在单点(例如CI服务器)上进行健全性检查,您将需要尽可能多的眼睛,因为您可以在单元测试中找到多少眼睛。开发人员倾向于使用任何最简单的方法,通常,集成测试套件比单独的组件更容易。

+0

我是个人开发者,所以使用ci服务器对我来说并不是必需的。其实我有一个,只是用它作为度量标准等等(当然也有趣) – 2009-09-01 14:59:30

+0

@Johannes Rudolph如果一个CI服务器过度杀毒,你仍然可以建立脚本。无论何时您需要度量标准,Rake都可以轻松地从命令行进行设置和运行。这里是我从Rake开始的资源。 http://www.tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net/ – 2009-09-01 15:49:38