代码之家  ›  专栏  ›  技术社区  ›  qrush

在.NET2.0中实现BDD/TDD的最佳方法是什么?[闭门]

  •  21
  • qrush  · 技术社区  · 18 年前

    有人对好的测试框架有什么建议吗?

    12 回复  |  直到 11 年前
        1
  •  9
  •   Onel Sarmiento    11 年前

    我们使用 MbUnit 和 Rihno Mocks Castle Windsor

    很值得一看约翰·保罗·博胡德的演员阵容,让你开始吧。 JPB's Blog

        2
  •  9
  •   Colin Jack Colin Jack    18 年前

    努尼特和犀牛很合身 auto-mocking container

    如果你也在看BDD的话 NBehave 这可能是个不错的选择。然而,如果您只是指与单元测试(xSpec)相关的BDD样式,那么您可以通过添加框架(尽管类似于 specunit 一定要加一些合成糖),但你可能想看看 MSpec

        3
  •  7
  •   mcintyre321    9 年前

    使用MSpec查看Rob Conry在BDD上的屏幕广播。印象深刻 http://blog.wekeroad.com/mvc-storefront/kona-3/

    编辑:我现在使用这种方法: http://10printhello.com/the-one-bdd-framework-to-rule-them/

        4
  •  4
  •   Rytmis    18 年前

    Rhino.Mocks 相当令人愉快。

        5
  •  4
  •   Jason Sparks    18 年前

    我在使用上取得了巨大的成功 NUnit

    我也用过 NMock 当需要模拟对象时。作为额外的好处,创建模拟对象的工厂称为模拟。

    为了方便单元测试的运行,我使用了 TestDriven.NET Cruise Control .NET

        6
  •  4
  •   Bruce McGee    15 年前

    这可能是对已经说过的内容的总结,但对于TDD,我个人使用Rhino Mocks和MBUnit。Rhino Mocks是一个免费的开源模拟框架。Rhino Mocks的优点是,我们不需要像在NMock中那样使用魔术字符串来设定您的期望值。

    我喜欢MBUnit,因为MBUnit有RowTests的概念,它允许您改变对测试方法的输入。MBUnit也免费提供。

    您还需要确保您为单元测试框架选择的任何内容都受到CI(持续集成服务器)的支持。巡航控制.NET中默认支持Nunit,您需要做一些额外的工作才能使MBUnit在ccnet中工作。

    从IDE的角度来看,您必须拥有TestDriven.NET。TestDriven.NET允许您右键单击并在IDE中运行测试,它支持MBUnit和Nunit等。

    NBEHAD是我使用过的BDD库。我没有使用任何其他工具,因此无法将它们与您进行比较和对比,但NBEHAD得到了MBUnit团队Gallio的支持,这意味着您可以像使用TestDriven.NET运行单元测试一样运行BDD测试。

    我也强烈推荐Resharper。您会发现,使用此重构和指导工具,您的生产率显著提高。它将帮助您在开发测试时更改代码。

    希望这有帮助

        7
  •  3
  •   fuzzbone    13 年前

    将nUnit与TFS结合使用并不太困难。codeplex上甚至有一个项目来实现这一点: NUnit for Team Build

    我还没有尝试过,但我会建议那些对nUnit有大量投资(或者对它有强烈偏好而不是MSTest工具)并且有兴趣实现TFS的客户继续使用nUnit,而不是尝试转换他们现有的所有测试。

        8
  •  3
  •   Mike DuPont Dylan Smith    11 年前

    可于 http://www.nunit.org 即使在使用MS堆栈时,我也会建议这样做——MVC预览中出现了对非MS框架的支持,这显示了朝着正确方向的明确运动,允许我们所有人定制适合自己的堆栈。

        9
  •  3
  •   MeanGreen    6 年前

    Moq . 它是一个干净的轻描淡写的框架,引导你进入成功的深渊。

    TFS内置的测试工具还可以。他们会完成工作,但通常会有点麻烦。生成的报告、代码覆盖率和其他一些部分尤其糟糕。他们让你在22岁时秃顶,而不是50岁。

    不管你做什么,如果你有时间,试几次,看看哪一个是最自然的。祝你好运和快乐。

        10
  •  2
  •   Nick Berardi    18 年前

    努尼特一直是我的最爱。但是,如果您使用TFS作为源代码管理,我建议您坚持使用Microsoft堆栈。

        11
  •  2
  •   Mocking_Bird Mocking_Bird    18 年前

    TestDriven.NET -VS的单元测试插件,与所有主要单元测试框架(包括NUnit、MbUnit等)完全集成。。。

    模拟型隔离器 -模拟框架 .Net Unit Testing

    NUnit

        12
  •  2
  •   Tanjim Ahmed Khan    6 年前

    在我的项目中,我使用NUnit和testdrive.NET取得了巨大的成功。您可以创建一个单独的库来承载测试代码,也可以将其放入可执行文件或库中。这完全取决于您是否希望生产代码与测试代码交织在一起。

    NInject 在我目前的项目中,它非常有效。如果使用构造函数注入,则不需要使用[Inject]属性使代码混乱。

    Moq .

    推荐文章