对于那些熟悉Gallio的人来说,使用这个工具,即所谓的测试自动化平台,您体验过哪些优点和缺点?
7 回答
我们使用 Gallio/MbUnit 已经一年了。我们对此非常满意,Gallio 开发人员不断推出很酷的新功能,并且开发很活跃。如果您决定使用它,这里有一些提示/注意事项:
- 为自己购买一个 TestDriven.NET 许可证 - 我认为这是 Gallio 单元测试的必要条件,因为 Resharper 测试运行程序不知道如何运行某些测试 + Gallio 有一个针对 TD.NET 的测试运行程序。
- 我们为 CI 脚本/构建使用 Gallio.Echo 命令行运行程序。Gallio Icarus - GUI 运行器(至少是当前版本)非常不稳定且对用户不太友好。
- 如果您想使用最新的 Gallio 功能(如并行测试等),请准备好使用最新的 Gallio 每日版本。如果这是一个问题,请继续使用“官方”构建,但我们在日常构建版本中没有遇到任何实际问题。
- 我建议将基本的 Gallio .DLL 和 .EXE 添加到您的源代码管理中。并且实际上在您的项目中引用这些,而不是来自 GAC 的。这样,如果您团队中的某个人在他/她的机器上安装了不同版本的 Gallio,您将避免任何“在我的机器上工作”问题。
我也尝试了 Gallio,它的运行速度比 TDD.Net 或本机 NUnit GUI 测试运行器慢得多。它甚至比 Resharper 跑步者还要慢!
我应该补充一点,我在这里谈论的是运行 NUnit 测试。
我不记得确切的数字,但相同的测试大约需要 3 分钟,NUnit 在 30 秒内完成(在一个线程、单个进程、多个域上运行)。
这本身就已经让它不行了。再加上笨重的 GUI,你就知道要远离它。
一些额外的信息:
在我的解决方案中,我进行了 NUnit 测试,并且最近开始添加MSpec 规范。在我重新编译并且测试 dll 更改后,我打开了 NUnit Gui 以自动重新运行我的旧测试(所有新测试都编写为 MSpecs)。
我使用 TDD.Net 来运行我的 Mspec 规范。
这使我能够在我的 Specs 完成运行而 NUnit Gui 运行器仍在完成时继续工作。
当我们评估 Gallio 时,我们遇到了大型项目的稳定性问题。然而,我们较小的项目运行良好。伟大的概念......我认为一旦它更精致一点,它会引起轰动。
我可能想补充一点,Resharper 支持丢失(或损坏)了一段时间,但我听说它又回来了。
最新版本的 Gallio (3.0.6) 解决了这些帖子中提到的许多稳定性问题。特别是,Icarus 现在更加稳定,并且能够附加到内置的调试器,因此使用起来甚至比 Resharper 更快,Resharper 在每次测试运行之前重新编译代码。
它非常不稳定,我大约在 3-4 个月前使用它,它非常不稳定而且速度很慢。
现在我刚刚尝试过,当您单击“保存”时它会崩溃,然后它永远不会再次打开,除非您去清理“本地设置”,我认为它仍然非常不稳定。
我希望他们停止添加新功能,而是修复这些相当明显的错误。
PS Project 有 1000~ 个单元测试,它正在使用 nUnit(可能只是我的 nUnit 和 Gallio 不能很好地配合使用)
我真的很想使用它,而且我有 3.1 - 313,我什至无法保存项目而不会崩溃!
毕竟坏东西的优点在这里:
对不同风格的强大支持,我已经将它用于 nUnit 和 mbUnit,它非常好。它甚至很好地支持 nUnit 中的 RowTest。
GUI非常酷,干净
- 具有设置工作目录等强大功能
- 报告与整合
在优势方面,与一切的集成非常好 :) 说真的,我非常喜欢与 Visual Studio Team System 的实验性集成(此处为屏幕截图)。我认为这确实降低了单元测试新手的门槛。
到目前为止,从我的角度来看,唯一的缺点是它尚未发布。