写点什么

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

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

关注

评论

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

接口文档设计避坑指南

程序员小毕

面试 程序人生 后端 架构师 java程序员

手把手教程 | 5分钟用轻量云主机搭建一个JupyterLab

京东科技开发者

Web 云主机 jupyterlab 企业号 4 月 PK 榜

开心档之MySQL 序列使用

如何通过Java应用程序在PPT中创建SmartArt图形

在下毛毛雨

Java PowerPoint 添加艺术图形

这是你的云-云起实验室

六月的雨在InfoQ

开发者 实验室 三周年连更 云起实验室

国内Google翻译失效的解决方法(MAC/WIN)

互联网搬砖工作者

共享电动车生产厂家!共享电单车厂商

共享电单车厂家

共享电动车厂家 共享电单车厂商 智能电动车生产

NFTScan 与 Web3 Analytics 达成合作伙伴,双方在多链 NFT 数据方面展开合作

NFT Research

NFT 区块链、

Linux 这4个进程相关的命令,太好用!

wljslmz

三周年连更

软件测试/测试开发丨PageObject 设计模式

测试人

软件测试 自动化测试 测试开发 pageobject

REST vs SOAP:两种 Web 服务协议的分析

Apifox

网络协议 Rest API soap web 服务

听说谛听闹退休?感知网络接班啦!

脑极体

感知网络

ChatGPT们接踵而至,AI会彻底改变我们的工作方式吗?

引迈信息

人工智能 AI 低代码 ChatGPT JNPF

汇量科技使用倚天710云实例,高效处理大流量广告请求

云布道师

阿里云

用友iuap平台一站式服务,助力央国企推进数智化转型

用友BIP

IT知识百科:什么是SSID?

wljslmz

三周年连更 ssid

海泰方圆受邀出席2023黄河观潮·信创与商用密码融合发展高峰研讨会

电子信息发烧客

海泰方圆成功当选黑龙江省商用密码协会会长单位

电子信息发烧客

如何快速在手机中查看UDID,无需itunes、itools

Zabbix5.0配置企业微信告警

A-刘晨阳

Linux zabbix 三周年连更

FastAPI入门

Liam

程序员 开发工具 API FastApi API 开发

AutoCAD2024最新版介绍及autocad 2024系统要求

互联网搬砖工作者

时隔两个多月,一起来看ChatGPT现况如何?

加入高科技仿生人

人工智能 AI 低代码 数字化

版本发布 | 九大功能优化,TDengine 3.0.4.0 稳定性、健壮性大幅提升

TDengine

tdengine 物联网 时序数据库

升级企业数智化底座,构建数智连接全能力

用友BIP

技术大会 用友iuap 用友技术大会

从入门到实战 | 尚硅谷Nifi视频教程发布

小谷哥

保姆级教程!如何在 Anolis 8 上构建基于 Nydus 和 Dragonfly 的镜像加速解决方案?

OpenAnolis小助手

Linux 开源 镜像 解决方案 龙蜥社区

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