.net - BDD测试框架

标签 .net ruby cucumber bdd specflow

我们是一家 Microsoft 商店,拥有相当成熟的技术堆栈和非常熟练的 .net 资源。我们从一开始就一直在使用 TDD,现在正在涉足 BDD 领域。我们的工作由敏捷团队使用强大的敏捷实践交付。

我们最终可测试的产品是 web、wpf 和 windows 窗体。

测试资源介绍了BDD,想学习和使用Ruby和Cucumber来进行测试。开发人员有一些阻力,因为我们更愿意坚持使用相同的技术堆栈并使用 Specflow(或类似的)。测试人员的论点是它更容易学习。

我想确保开发人员和测试人员没有偏见,值得引入另一种技术。

最佳答案

SpecFlow 和 Cucumber 都使用完全相同的业务人员可读语言 (gerkhin) 来指定功能;唯一的区别是您是用 C#(例如使用 WatiN 来驱动基于浏览器的测试)还是 Ruby(例如使用 Watir)编写步骤定义。因此,测试将以非常相似的方式构建,并且无论您选择哪一种,都会产生相似的好处。

我猜想使用 SpecFlow 而不是 Cucumber 的好处是测试可以很容易地从 Visual Studio 运行,也可以从例如TeamCity 或其他基于 .NET 的持续集成工具。另一方面,当更改 Cucumber 测试或添加新测试时,您无需等待重新编译(但是,测试代码的更改通常伴随着生产代码的更改,因此这可能不会'将节省大量资金)。在测试基于 WPF 或基于 Windows 窗体的应用程序时,我认为从 .NET 控制这些应用程序会更容易(但可能有一些 Ruby 库用于控制其他 GUI 应用程序......)

关于.net - BDD测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671421/

相关文章:

.Net 内存限制

ruby - 在 Ruby 中自动记录异常

ruby - 带 Selenium 的 capybara ,send_key 不起作用

java - 使用 Gradle 执行 Cucumber 测试场景

.net - 在 .Net 托管 IronPython 脚本中设置和获取变量

c# - BeginExecuteReader、EndExecuteReader 和多个结果

.net - 如何获取 COM 对象的类型

ruby - 遵循 Ruby 中 "Methods return other PageObjects"的测试自动化最佳实践

ruby - 使用 Ruby on Rails 计算 bool 值的平均值

javascript - 在 Rails 中进行 Javascript 测试的 Culerity 与 Selenium