Gallio Icarus vs. Testdriven.net [关闭]

Posted

技术标签:

【中文标题】Gallio Icarus vs. Testdriven.net [关闭]【英文标题】:Gallio Icarus vs. Testdriven.net [closed] 【发布时间】:2009-09-01 14:34:00 【问题描述】:

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

你更喜欢什么,为什么?

到目前为止,我发现 Icarus 中的报告比 td.net 中的要好,td.net 仅具有命令行输出。 但是 td.net 使用起来更快,我可以更轻松地执行单个测试,而无需先取消选中其余部分。 NCover 集成也非常好。

【问题讨论】:

【参考方案1】:

Icarus 有一个很棒的功能让我一直使用它。它是测试的自动重新加载和重新运行。

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

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

【讨论】:

是的,我也这样做。唉,我的问题是 td.Net 是否提供任何好处。 为了保护 TD.Net,构建运行作为运行单元测试的一部分,就地运行,并且不占用屏幕空间。 真正酷的是在 Visual Studio 中编辑代码时重新运行相关单元测试的功能。但是你如何定义“相关”? 这是一个老问题,但因为我发现它正在寻找与 Visual Studio 集成的优秀测试运行程序,所以值得一提的是 NCrunch 完全符合 GregC 所说的:“重新运行相关单元测试作为你在 VisualStudio 中编辑代码”【参考方案2】:

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

如果是这样,您可以设置 Gallio 来运行您的单元测试并在其中保存所有报告信息,同时允许开发人员在工作时使用具有更快反馈的东西。

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

【讨论】:

我是个人开发者,所以我不需要使用 ci 服务器。实际上我确实有一个,但是我只是将它用于度量等(当然是为了好玩) @Johannes Rudolph 如果 CI 服务器太过分了,您仍然可以使用构建脚本。每当您需要指标时,Rake 真的很容易从命令行设置和运行。这是我开始使用的 Rake 资源。 tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net

以上是关于Gallio Icarus vs. Testdriven.net [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

扩展至 icarus

Gallio MbUnit 和 Team City 问题

Gallio.Model.ModelException:调用测试驱动程序时发生异常

Team City + Gallio 运行测试,但未显示结果

尝试使用 Icarus 编译 SV 文件的断言失败错误

Icarus Verilog和GTKwave使用简析