使用 Testdriven.net 等 VS 集成工具或使用 Icarus 或 NUnit GUI 等 GUI 测试运行程序有什么区别?
您更喜欢什么?为什么?
到目前为止,我发现 Icarus 中的报告比 td.net 中的报告更好,后者仅具有命令行输出。 然而 td.net 使用起来更快,我可以更轻松地执行单个测试,而不必先取消选中其余部分。 Ncover 集成也非常好。
Icarus 有一个很棒的功能让我一直使用它。它是测试的自动重新加载和重新运行。
我让伊卡洛斯悬停在左侧监视器上。每次我在 Visual Studio 中构建时,Icarus 都会重新加载程序集并运行所有测试。这有点像 Resharper 解决方案分析的即时反馈,只不过是测试而不是语法。运行测试是自动的,似乎不会影响 Visual Studio 的性能(可能 b/c Icarus 是它自己的进程,而不是托管在 IDE 内)。
要启用此配置,请转至 Icarus->Options->Test Explorer。选中“始终重新加载文件”和“重新加载后运行测试”。
您是否有持续集成服务器(类似于构建服务器,但运行单元测试)?
如果是这样,您可以设置 gallio 来运行单元测试并在那里获取所有报告信息,同时允许开发人员在工作时使用具有更快反馈的东西。
如果没有选择,我更喜欢集成到 IDE 中的东西,例如 Testdrvien。在 TDD 下重构一段代码或开发新东西时,即时反馈确实很有帮助。此外,如果您没有在单个点(如 CI 服务器)进行健全性检查,您将需要尽可能多的眼睛来检查这些单元测试。开发人员倾向于使用最简单的东西,通常,集成测试套件比单独的组件更容易。