10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

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:001997
用户头像

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

关注

评论

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

2023年度技术卓越奖名单揭晓,天翼云TeleDB数据库荣誉上榜

编程猫

AI原生企业级Agent构建平台具备哪些特性?一篇文章看明白

王吉伟频道

生成式AI AI Agent AI智能体 数据飞轮 Agent构建

AGI时代的奠基石:Agent+算力+大模型是构建AI未来的三驾马车吗?

GPU算力

全方位的账号安全管理

尚思卓越

黑客 网络安全

深度解析阿里巴巴API,关键字搜索和商品详情接口

tbapi

阿里巴巴API接口 阿里巴巴商品列表数据接口 阿里巴巴商品详情接口 阿里巴巴数据采集 阿里巴巴商品数据API

大厂面试题集合之阿里一面[1]

派大星

Java 面试题

一键在线获取APP公钥、包名、签名及备案信息方法介绍

Geek_66e2f3

GLTF模型为什么越来越流行?

3D建模设计

3D渲染 材质纹理贴图

火山引擎ByteHouse基于云原生架构的实时导入探索与实践

字节跳动数据平台

数据库 大数据 云原生

测试开发 | 智能系统在能源管理中的优化

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

测试

测试开发 | AI在交通运输中的引领作用:智能交通系统与城市流动

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

测试

电池最大充电限制软件分享:AlDente Pro 激活中文最新版

胖墩儿不胖y

Mac软件 电池管理工具 电池充电管理

3D材质编辑器

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

测试开发 | 语言助手技术的发展历程

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

测试

营销科学AIA:汽车企业坚定长期主义的秘密武器

新消费日报

AI Native工程化:百度App AI互动技术实践

百度Geek说

人工智能 大数据 12 月 PK 榜 Prompt

苏宁易购商品详情API:电商实时数据

Noah

写给测试同学的福利 | 招募

优测云服务平台

测试 体验官 测试体验官

openEuler汇聚开源力量,共建全球开源生态

彭飞

测试开发 | 语音助手技术:Siri、Alexa、Google Assistant的背后

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

测试

GLTF vs FBX:应该使用哪种格式?

3D建模设计

3D渲染 材质纹理贴图

【第七在线】供应链协作与商品计划:建立强大的合作关系

第七在线

3D模型如何制作透明玻璃材质

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

测试开发 | 人工智能引领交通运输革命

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

测试

轻应用市场兵分小程序快应用两路,熟好熟坏?

Onegun

小程序 小程序容器 轻应用 快应用

测试开发 | 智能系统在航空航天领域的应用与创新

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

测试

Lazada商品评论列表API:电商行业的实时反馈宝库

Noah

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