在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

YashanDB|update/delete 没有命中数据,alter 却卡死?其实是 TS 锁在作怪

数据库砖家

数据库·

2025年最新猫头虎简介:猫头虎技术团队

猫头虎

不用写代码!2个小时,我自己搭了一套进销存系统,业务效率翻倍!

中烟创新

贝尔金在范围一和范围二排放中实现碳中和

财见

YashanDB知识库|执行 shutdown immediate 无响应还导致 coredump?背后原因找到了!

数据库砖家

YashanDB知识库|SQL语句报 YAS-00103 是因为忘了 close?

数据库砖家

数据库·

AI智上 | 数智预算:一级央企集中化预算应用领先实践

用友智能财务

手把手教你酒店LED显示屏该怎么选!

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

APSEZ收购NQXT Australia

财见

人工智能 (AI) 技术在英语教育中的应用

北京木奇移动技术有限公司

AI教育 软件外包公司 AI技术应用

ATEN宏正现身InfoComm China 2025,智算中枢赋予运维新可能

编程猫

《Operating System Concepts》阅读笔记:p749-p763

codists

操作系统

Easysearch Rollup 相比 OpenSearch Rollup 的优势分析

极限实验室

Rollup Performance easysearch OpenSearch

企业AI转型遇算力瓶颈?苏州TOP3机房服务器托管方案实测报告

苏州服务器托管

苏州服务器托管 苏州IDC

大语言模型助力 Support Case 分析,提升云服务效率

亚马逊云科技 (Amazon Web Services)

YashanDB知识库|SQL 中用了 OR,怎么反而性能下降了?该不该改写?

数据库砖家

数据库

寻找AI大模型时代的存力破壁人:华为的行与思

脑极体

软件

得物增长兑换商城的构架演进

得物技术

#算法 游戏架构

YashanDB|修改yac参数后执行shutdown immediate数据库卡住的原因和解决办法

数据库砖家

数据库

Oracle 迁移 YashanDB 的顺滑实战体验:一条龙的工具到底有多省心?

数据库砖家

数据库·

LangChain案例实战:顺序链、分支链、循环链

AI时代的一滴水

Python AI agent #LangChain

审计在等保测评中的重要性

黑龙江陆陆信息测评部

北京邮电大学鲲鹏昇腾科教创新孵化中心成立 为ICT创新突破再“聚能赋力”

极客天地

为什么YashanDB共享集群的高可用能力被频繁点赞?核心机制到底强在哪?

数据库砖家

数据库

深度解析!淘宝商品详情 API 接口的高效调用与实战应用

tbapi

淘宝数据采集 淘宝API 天猫商品详情接口 淘宝商品详情API 淘宝数据分析

YashanDB知识库|使用EXP导出全库导致服务器卡死?可能是这个原因!

数据库砖家

数据库·

Oracle迁移YashanDB实录:初试YMP异构数据库迁移平台

数据库砖家

数据库·

级联vs端到端、全双工、轮次检测、方言语种、商业模式…语音 AI 开发者都在关心什么?丨Voice Agent 学习笔记

RTE开发者社区

Google创始人:未来一年绝大多数程序员将被AI取代;FeedbackStream:8分钟创建语音访谈智能体,输出高质量洞察

RTE开发者社区

一文读懂天猫商品详情 API 接口:功能、调用与实战攻略

tbapi

天猫商品详情接口 天猫API 天猫商品数据采集 天猫数据采集

AI狂飙时代,我们测试工程师会被"优化"吗?

测试人

人工智能

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