AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

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

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

关注

评论

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

别再被小程序全页变灰给坑了

FE情报局

小程序 前端

星环科技数据中台解决方案,助力某政府机构建设新型智慧城市

星环科技

国内主流商业智能BI工具剖析

流量猫猫头

大数据

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

一张「有想法」的表单,玩出线上填表新花样

爱科技的水月

云原生应用的最小特权原则

HummerCloud

k8s rbac 云原生安全

编译器优化丨Cache优化

华为云开发者联盟

后端 开发 华为云 12 月 PK 榜

TiDB在科捷物流神州金库核心系统的应用与实践

TiDB 社区干货传送门

迁移 实践案例 HTAP 场景实践 OLTP 场景实践

奇点云DataSimba R4.5发布关键更新,做到“可大可小可观测”

奇点云

从React源码分析看useEffect

goClient1992

React

解读数仓中的数据对象及相关关系

华为云开发者联盟

数据库 后端 华为云 数据对象 12 月 PK 榜

【11.25-12.02】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

火山引擎DataTester揭秘:字节如何用A/B测试,解决增长问题的?

字节跳动数据平台

大数据 AB testing实战 12 月 PK 榜

三翼鸟,用两年开启下一个十年

脑极体

前端培训没有基础应该怎么学习

小谷哥

手把手教你成为荣耀开发者:账户结算操作指南

荣耀开发者服务平台

android 开发者 手机 荣耀 honor

云小课|基于华为云WAF的日志运维分析,构筑设备安全的城墙

华为云开发者联盟

后端 华为云 waf 12 月 PK 榜

SEAL 0.3 正式发布:国内首个全链路软件供应链安全管理平台

SEAL安全

安全 全链路 软件供应链 SEAL

【JUC】交换器Exchanger详解

JAVA旭阳

Java JUC

java培训怎么学习才好?

小谷哥

架构实战营模块1第1课 - 什么是架构,你理解对了么

净意

架构实战营

技术内幕 | 阿里云EMR StarRocks 极速数据湖分析

StarRocks

#数据库

刘德华在线演唱会,火山引擎边缘云助力打造极致视频直播体验

火山引擎边缘云

云原生 边缘计算 节点 火山引擎边缘计算

在一次又一次的失败中,我总结了这份万字的《MySQL性能调优笔记》

钟奕礼

Java 程序员 java面试 java编程

从React源码来学hooks是不是更香呢

goClient1992

React

一线大厂为什么面试必问分布式?

钟奕礼

Java 程序员 java面试 java编程

前端培训学习程序员如何提高解决问题的能力

小谷哥

大数据培训程序员工作前景如何

小谷哥

大数据培训学习程序员还好找吗

小谷哥

白嫖GitHub Pages,轻松搭建个人博客

LigaAI

Hexo GitHub Pages 个人博客 个人网站 12 月 PK 榜

BSN-DDC基础网络DDC SDK详细设计(七):数据解析

BSN研习社

BSN-DDC

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