我正在尝试开始使用BDD并找到有关MSpec和SpecFlow的视图博客文章。我目前还不太确定何时使用哪个以及这两个框架的优点/缺点是什么。
查看文档似乎MSpec使用上下文规范样式,而SpecFlow使用Given / When / Then样式。我也不介意,但我想知道,当项目/测试套件增长时,是否有任何陷阱需要注意进一步的轨道。
基本上,在日常工作中使用它的某些人的真实世界建议/反馈会很棒。
答案 0 :(得分:18)
所以我用过两者。 我喜欢mspec工作流程,因为它更容易让我与用户说话并说出来。
“登录时” “我应该回到我要求的页面”
当我为那些已经购买了更多积极协作的组织工作时(阅读敏捷),我已经使用了Given When Then模式。该组织习惯于用户故事,因此他们习惯于更严格的规范风格。我们还使用了多个工具来提供规范。因此,“仅文本”功能文件可以在工具之间重复使用。
在我自己的项目中,我使用SpecFlow作为测试内部的'outside'和'mspec'。 如果我要给某人一些建议,那么如果非技术人员正在编写外部规范,那么将使用specflow,如果开发人员正在撰写,则使用mspec。
坏点: Mspec是阶级爆炸 SpecFlow是一个较慢的工作流程 好点: Mspec是一种更自然的语言 Specflow更适合步骤的可重用性。
最重要的是它们可以很好地协同工作。
答案 1 :(得分:1)
mspec的一个缺点是你不能并行运行,而使用specflow runner你可以。这是一个很大的性能问题。