写点什么

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

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

关注

评论

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

下一代代币技术白皮书:合规化智能合约与零知识证明隐私协议

区块链软件开发推广运营

交易所开发 公链开发 代币开发

【Redis技术进阶之路】「原理分析系列开篇」揭秘分析客户端和服务端网络通信交互实现(客户端篇)

码界西柚

redis 底层原理 网络通信

WebGL开发VR软件的注意事项

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

VR开发 软件外包公司 webgl开发

Netty基础—Netty实现RPC服务

不在线第一只蜗牛

Netty

人工智能助力家庭机器人:从清洁到陪伴的智能转型

天津汇柏科技有限公司

人工智能 机器人

区块链加密技术公司DApp开发指南:从零开始到上线

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

WebGL开发VR软件的技术难点

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

VR开发 软件外包公司 webgl开发

Cisco Secure Firewall Management Center 7.7.0 - 思科防火墙管理中心

sysin

FMC

抢占红海市场,从云等保做起

黑龙江陆陆信息测评部

如何在手机上绘制CAD虚线?

在路上

cad cad看图 CAD看图王

人工智能丨当AI三小时"抄作业"成真:测试工程师的护城河该往哪挖

测试人

人工智能

血亏60%库存?你的"AI"可能正在吞噬零售利润

第七在线

人工智能丨Manus现象:一场AI流量的狂欢,还是一场生产力革命?

测试人

人工智能

企业要如何做好内容风控管理

易成研发中心

IP纯净度检测工具Scamalytics使用指南

Ogcloud

海外直播 海外社媒运营 海外IP代理 海外IP节点

什么是大数据风控

易成研发中心

Cisco Nexus 9000v Switch, NX-OS Release 10.4(5)M - 虚拟化数据中心交换机

sysin

nexus

Cisco ACI Simulator 6.0(9c)M - ACI 模拟器

sysin

ACI

满满干货,选手必读!4C大赛大数据主题赛国赛一等奖选手参赛经验分享完整实录已整理!

ModelWhale

人工智能 大数据 计算机 比赛 中国大学生计算机设计大赛

2025交易所开发突围:AI增强型撮合引擎与零知识证明跨链架构

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

WebGL开发VR软件的测试

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

VR开发 软件外包公司 webgl开发

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)

HarmonyOS SDK

压测实战 | 微信小程序商城“双11”的压测实践

优测云服务平台

小程序 性能测试 接口测试 接口测试工具 压力测试、

Cisco ASAv 9.23.1 - 思科自适应安全虚拟设备 (ASAv)

sysin

ASAv

Trae 开发工具与使用技巧

威哥爱编程

编程工具 AI编程 AI工具 Trae

vue2和vue3的响应式原理有何不同?

威哥爱编程

JavaScript html js Vue3 vue2

人工智能丨AI质量攻坚战:2025年测试工程师的生存法则

测试人

人工智能

全球汽车轻量化巅峰对决!Altair Enlighten Award 征集启动,谁将引领绿色出行新时代?

Altair RapidMiner

汽车 仿真 产品的可持续发展 altair hyperworks

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