3

我正在尝试尽可能无缝地在我的团队中实施 BDD/TDD。Team Build 的 Gated check-in 只支持 MSTest,Microsoft Pex 和 Moles 配合得非常好。对于 BDD,我对 MSpec 印象最深,MSMSpec T4 模板会将这些测试转换为 MSTest,但 MSpec 和 Moles 似乎不能一起工作。(请参阅:在处理 MSpec 中的匿名方法时是否有设置 [HostType("Moles")] 的解决方法?

所以:

  1. MSTest 适用于单元测试,可与 Team Build 一起使用,但不适用于 BDD。
  2. 其他模拟框架可与 MSpec 和 MSTest 一起使用,但 Moles 正在升级为 Microsoft.Fakes 与 VS 11,并且我认为其他框架无法完成的事情。
  3. 我为 MSPec 找到的接近替代品(例如 NSpec)仅生成 NUnit 测试,而不生成 MSTest。

什么样的工具组合可以协同工作?

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

更新 2:事实证明,扩展 SpecFlow 以与 Moles 一起工作并不难,所以我现在就这样做,但我仍然有兴趣听取意见。

4

1 回答 1

0

你试过MSMSpec吗?

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

于 2012-08-02T11:50:17.150 回答