我正在尝试在我的团队中尽可能无缝地实施BDD / TDD。 Team Build的门控值机仅支持MSTest,Microsoft Pex和Moles合作非常好。对于BDD,我对MSpec印象最深,MSMSpec T4模板会将这些测试转换为MSTest,但是MSpec和Moles不能一起使用。 (请参阅:Is there a workaround for setting [HostType("Moles")] when dealing with anonymous methods in MSpec?)

所以:

  • MSTest适用于单元测试,可与Team Build一起使用,但不适用于
    非常适合BDD。
  • 其他模拟框架可与MSpec和
    MSTest,但是Moles被提升为Microsoft.Fakes with VS 11,
    并做了其他我认为不可能的事情
    构架。
  • 我找到了MSPec的近代替代品,例如NSpec
    仅生成NUnit测试,而不生成MSTest。

  • 工具的哪种组合可以一起工作?

    更新: SpecFlow也不适用于Moles,因为TestMethods在生成的代码中,而且我看不到修改代码生成器以包含必要的HostType属性的方法。接下来尝试StoryQ。

    更新2:事实证明,将SpecFlow扩展到Moles并不难,所以我现在就开始讨论,但是我仍然想听听输入。

    最佳答案

    您尝试过MSMSpec吗?

    MSMSpec是一个基于T4的工具,可以生成MSTest代码以扩展您的MSpec(Machine.Specifications)测试,以便它们可以在运行MSTest的任何程序下运行。

    关于mocking - BDD和模拟框架的哪种组合可以与Team Build的门诊程序一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10012805/

    10-09 13:45