在 .NET 2.0 中实现 BDD/TDD 的最佳方法是什么?[关闭]
题
我希望向我的应用程序添加一个测试套件,但是我无法迁移到 .NET 3.5 的较新测试框架。
有人有关于好的测试框架的建议吗?
其他提示
查看 Rob Conery 使用 MSpec 关于 BDD 的截屏视频。非常令人印象深刻 http://blog.wekeroad.com/mvc-storefront/kona-3/
编辑:我现在使用这种方法: http://10printhello.com/the-one-bdd-framework-to-rule-them/
对于模拟对象库,我找到了 BSD 许可的 犀牛模拟 是比较令人愉快的。
这可能是对已经说过的内容的总结,但对于 TDD,我个人使用 Rhino Mocks 和 MBUnit。Rhino Mocks 是一个免费开源的模拟框架。Rhino Mocks 的优点是我们不需要像在 NMock 中那样使用魔术字符串来设置您的期望。
我喜欢 MBUnit,因为 MbUnit 具有 RowTests 的概念,它允许您改变测试方法的输入。MBUnit 也是免费提供的。
您还需要确保您为单元测试框架选择的任何内容都受到 CI(持续集成服务器)的支持。Cruise Control.NET 默认支持 Nunit,您必须做一些额外的工作才能让 MBUnit 在 ccnet 中工作。
从 IDE 的角度来看,您必须拥有 TestDriven.NET。TestDriven.NET 允许您在 IDE 中右键单击并运行测试,并且它支持 MBUnit 和 Nunit 等。
NBehave是我用过的BDD库。我没有使用过任何其他测试,所以无法与您进行比较和对比,但是 NBehave 得到了 MBUnit 团队的 Gallio 的支持,这意味着您可以像使用 TestDriven.NET 进行单元测试一样运行 BDD 测试。
我还强烈推荐 Resharper。您会发现使用此重构和指导工具可以显着提高您的工作效率。它将帮助您在开发测试时更改代码。
希望这可以帮助
我将不得不大声疾呼 起订量. 。它是一个干净的轻量级模拟框架,可以帮助引导您进入成功的深渊。
TFS 中内置的测试工具还不错,它们可以完成工作,但使用起来往往有点麻烦。生成的报告、代码覆盖率和其他一些部分特别糟糕,它们会让你在 22 岁时秃顶,而不是 50 岁。
如果您真的喜欢测试,请考虑尝试一些持续集成。你会很快感受到回归带来的痛苦,并可能帮助你更快地实现最终目标。
无论您做什么,如果有时间,都可以尝试一些,看看哪一种最自然。祝你好运,编码愉快。
将 nUnit 与 TFS 结合使用并不是太困难。codeplex 上甚至有一个项目可以实现这一点: 用于团队建设的 NUnit 它甚至将结果“发布”到仓库。
我还没有尝试过 - 但我会建议那些在 nUnit 上有大量投资(或者对它比 MSTest 工具有强烈偏好)、有兴趣实施 TFS 的客户继续使用 nUnit,而不是尝试转换他们所有的现有的测试。
单位 可以在 http://www.nunit.org即使在处理 MS 堆栈时,我也会建议这样做 - MVC 预览中正在发生对非 MS 框架的支持,这显示了朝着正确方向的明确移动,允许我们所有人自定义我们的堆栈以适应。
NUnit 一直是我的最爱。但是,如果您使用 TFS 作为源代码控制,我建议您坚持使用 Microsoft Stack。