MSpec和SpecFlow何时使用哪个?两者的优点/缺点是什么?

时间:2011-04-28 03:52:23

标签: bdd specflow mspec

我正在尝试开始使用BDD并找到有关MSpec和SpecFlow的视图博客文章。我目前还不太确定何时使用哪个以及这两个框架的优点/缺点是什么。

查看文档似乎MSpec使用上下文规范样式,而SpecFlow使用Given / When / Then样式。我也不介意,但我想知道,当项目/测试套件增长时,是否有任何陷阱需要注意进一步的轨道。

基本上,在日常工作中使用它的某些人的真实世界建议/反馈会很棒。

2 个答案:

答案 0 :(得分:18)

所以我用过两者。 我喜欢mspec工作流程,因为它更容易让我与用户说话并说出来。

“登录时” “我应该回到我要求的页面”

当我为那些已经购买了更多积极协作的组织工作时(阅读敏捷),我已经使用了Given When Then模式。该组织习惯于用户故事,因此他们习惯于更严格的规范风格。我们还使用了多个工具来提供规范。因此,“仅文本”功能文件可以在工具之间重复使用。

在我自己的项目中,我使用SpecFlow作为测试内部的'outside'和'mspec'。 如果我要给某人一些建议,那么如果非技术人员正在编写外部规范,那么将使用specflow,如果开发人员正在撰写,则使用mspec。

坏点: Mspec是阶级爆炸 SpecFlow是一个较慢的工作流程 好点: Mspec是一种更自然的语言 Specflow更适合步骤的可重用性。

最重要的是它们可以很好地协同工作。

答案 1 :(得分:1)

mspec的一个缺点是你不能并行运行,而使用specflow runner你可以。这是一个很大的性能问题。