把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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

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

关注

评论

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

各厂商的数据湖解决方案

五分钟学大数据

数据湖 6月月更

Linux中有趣的命令:cowsay,会说话的牛!

wljslmz

Linux 6月月更 cowsay

苹果称M2比intel i5强26倍 虚假营销的实情揭晓!

科技之家

最佳实践 | 用腾讯云AI语音识别零基础实现小程序语音输入法

牵着蜗牛去散步

最佳实践 语音识别 小程序开发 腾讯云AI 语音输入法

LP流动性挖矿系统开发生态系统详解

开发微hkkf5566

Springcloud Oauth2 HA篇

Damon

微服务架构 安全架构 6月月更

喜报 | 旺链科技签约汨罗市文旅体产业项目,打造“链”上数字乡村

旺链科技

区块链 产业区块链 乡村振兴 汨罗市

版式设计三大原则

源字节1号

软件开发 小程序开发

【直播回顾】Hello HarmonyOS应用篇第六课——短视频应用开发

HarmonyOS开发者

HarmonyOS

Android 产生ANR后的Trace文件的解析

北洋

android 6月月更

kube-apiserver调度器核心实现

申屠鹏会

k8s

精益产品开发体系最佳实践及原则

阿里云云效

云计算 阿里云 精益开发 产品开发 开发

盘点现有开源软件许可合规工具

开源社

陕西西安等保测评单位有哪些?在哪里可以查到?

行云管家

西安 等保测评 等保测评机构

网络安全等级测评和商用密码应用安全性评估是一回事吗?

行云管家

网络安全 等级保护 商用密码

保姆级教程:如何成为Apache Linkis文档贡献者

康月牙

Apache GitHub 教程 文档 Linkis

web前端培训React如何原生实现防抖

@零度

前端开发 React

《数字经济全景白皮书》银行财富管理篇 重磅发布

易观分析

理财 银行理财

【高并发】彻底理解Nginx限流机制与实战

冰河

并发编程 多线程 高并发 异步编程 6月月更

Java培训多线程+List分段解决批量更新太慢

@零度

List 多线程 JAVA开发

评“开发人员不喜欢低代码和无代码的8个理由”

代码制造者

程序员 编程语言 开发 iVX 低代码开发

为什么 SQL 语句使用了索引,但却还是慢查询?

okokabcd

MySQL

构建基于React18的电子表格程序

葡萄城技术团队

React 表格 纯前端表格技术

Plugsched 实战解读:如何在不中断业务时对 Linux 内核调度器热升级? | 龙蜥技术

OpenAnolis小助手

Linux 开源 内核 调度 Plugsched

Java 对象如何安全的 toString

HoneyMoose

元宇宙产业投资全景图,快人一步走进元宇宙新时代!

博文视点Broadview

知名网络安全硬件平台厂商铵泰克加入龙蜥社区

OpenAnolis小助手

开源 网络安全 龙蜥社区 CLA 铵泰克

柴云鹏:创新能力的培养至关重要|OceanBase 数据库大赛访谈

OceanBase 数据库

oceanbase 数据库大赛

IPO,联结一切的桥梁

鼎道智联

Ubuntu20.04设置静态IP

echeverra

Linux 静态IP

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