写点什么

BDD 工具 SpecFlow 版本 2 支持并行执行

  • 2016-02-01
  • 本文字数:889 字

    阅读完需:约 3 分钟

行为驱动开发(BDD)工具 SpecFlow 的最新版本支持以并行方式执行测试,并添加了对 xUnit 2.0 和 NUnit 3.0 的支持。最新发布的版本 2 同时升级至新的 Gherkin 3 解析器,后者目前几乎已应用在所有 Cucumber 工具中了。

InfoQ 与 SpecFlow 的作者与主要维护者 Gáspár Nagy 进行了一次访谈,按照他的描述,以用户的角度来看,并行测试执行是最重要的一个新特性。Nagy 发现,在大多数情况下,即使在单一的机器中,执行时间也降低了大约 40%。如果某个应用程序依赖于静态状态,例如缓存,推荐的做法是通过多个隔离的 AppDomain 进行并行的测试执行。这种方式能够确保每个执行测试的线程中的内存是相互隔离的,从而能够以并行的方式进行测试的执行,而无需考虑额外的因素。如果测试并不依赖于任何静态状态,即不会在静态字段中保存任何特定于测试的信息,那么就可以在一个 AppDomain 中并行执行。这种方式的初始化资源占用较少,所需的内存也较少。

至于 Gherkins 3 的升级,Nagy 认为这正是跨平台开源项目的一个绝佳案例。通过这种方式可以打造跨平台的 BDD 技能、工具以及社区。

Nagy 还表示,从开源项目的角度来看,这次发布最重要的一项改进在于:在经历了很长一段时间之后,社区终于成功地发布了一个新版本,并且趁此机会对项目进行了一些清理工作,让项目重回正规,以迎接今后更频繁的发布。

其他的改进点包括:

  • 所有组件都已升级至.NET 4.5,值得注意的是,从这次升级之后,SpecFlow 版本 2 将不再支持任何较早的.NET 运行时版本。
  • 通过一个 Order 参数,就可以控制钩子(例如 BeforeScenario)的执行顺序。
  • 简化了使用 MSTest 时的配置。
  • 改进了基于正则表达式的建议功能,以更好地发现所遗漏的步骤。
  • 与 Visual Studio 的集成被转移至一个独立的项目中。

SpecFlow 是在.NET 平台上实现 BDD 的一个开源工具,它也是 Cucumber 家族的一员,后者支持其他各种平台。通过这种工具,可以以 Gherkin 语言的形式描述一个用户故事中的场景,描述采用了基于关键字的方式,其中最重要的关键字包括 Given、When 和 Then。

在 SpecFlow 网站上可以找到入门示例、升级指南以及文档

查看英文原文: BDD Tool SpecFlow V2 with Parallel Execution

2016-02-01 18:001684
用户头像

发布了 428 篇内容, 共 180.4 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

九章云极DataCanvas公司入选《2023中国大模型产业创新服务商TOP30榜单》

九章云极DataCanvas

软件测试/测试开发/全日制|Pytest allure如何添加测试用例步骤

霍格沃兹测试开发学社

软件测试/测试开发/全日制|MySQL安装最全教程

霍格沃兹测试开发学社

需求管理智慧:与产品经理巧妙沟通解决不规范与变更频繁

测吧(北京)科技有限公司

测试

测试流程与规范指南:详解测试计划、用例与质量指标

测吧(北京)科技有限公司

测试

Kickoff会议与测试关注点:项目启动的黄金法则

测吧(北京)科技有限公司

测试

测试过程管理揭秘:敏捷站会、项目时间、推动关键技巧

测吧(北京)科技有限公司

测试

布局算力新基建,九章云极DataCanvas公司赋能AI产业高质量发展

九章云极DataCanvas

从需求到测试计划:项目流程与规范关键输入输出

测吧(北京)科技有限公司

测试

质量标准深度解读:覆盖度、bug等级、用户体验窥探

测吧(北京)科技有限公司

测试

恒安嘉新启动鲲鹏原生应用开发合作

彭飞

软通动力启动鲲鹏原生应用开发合作

彭飞

物联网浏览器(IoTBrowser)-Modbus协议集成和测试

快乐非自愿限量之名

浏览器 物联网 项目开发

SRP (Secure Remote Password Protocol)

Geek_44385e

srp

任务与责任划分:巧妙安排项目工作与任务

测吧(北京)科技有限公司

测试

深入理解 Java 变量类型、声明及应用

小万哥

Java 程序人生 编程语言 软件工程 后端开发

Casper Network加入Web3 领域 “Shark Tank” 的《Killer Whales》

股市老人

10000+AI绘画关键词-涵盖Mid和StableDiffusion

Geek_bbbdb0

如何精准推动外包团队的工作

测吧(北京)科技有限公司

测试

ChatGPT 被曝泄露私密对话;美国 AI 企业一天蒸发 1.3 万亿市值丨 RTE 开发者日报 Vol.139

声网

提高项目执行力:解析执行力差原因与提升方法

测吧(北京)科技有限公司

测试

语音合成技术在智能驾驶中的应用与挑战

来自四九城儿

DataCanvas会员中心正式上线,这些新春福利请接住!

九章云极DataCanvas

思考-RBAC中对于权限编码部分的压缩处理(RoaringBitmap)

alexgaoyh

Java 位图 BitMap Roaringbitmap 位图压缩

低代码开发平台在企业数字化转型中的应用研究

快乐非自愿限量之名

软件开发 低代码 数字化 企业转型

语音合成技术在智能驾驶中的创新与应用

来自四九城儿

跨团队协作智慧:资源寻找、支持申请、协作分工

测吧(北京)科技有限公司

测试

九章云极DataCanvas公司荣登“2023Venture50投资界数字科技”榜

九章云极DataCanvas

项目排期揭秘:预估测试时间与灵活沟通工期不合理

测吧(北京)科技有限公司

测试

Pyth 预言机: 它们如何影响Hover?

股市老人

语音合成技术在智能驾驶中的应用与展望

来自四九城儿

BDD工具SpecFlow版本2支持并行执行_.NET_Jan Stenberg_InfoQ精选文章