写点什么

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

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

关注

评论

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

缓存穿透、缓存击穿、缓存雪崩及解决方案

Steven

高僧斗法(博弈-Nim博弈)

Five

算法竞赛 算法题 8月月更

leetcode 225. Implement Stack using Queues 用队列实现栈(简单)

okokabcd

LeetCode 数据结构与算法

开源一夏 | Java 覆盖jar包内的方法

六月的雨在InfoQ

开源 钉钉 Java core 8月月更

定制开发APP——怎样吸引更多用户?

开源直播系统源码

软件开发 直播系统源码 定制开发 app定制开发

观测云产品更新|观测云计费更新;新增场景仪表板/笔记/查看器的查看权限;优化监控器和事件等

观测云

兆骑科创创业大赛,线上直播路演,高层次人才引进服务平台

兆骑科创凤阁

Java:在Word文档中添加或删除页眉页脚

Geek_249eec

Java word 页眉页脚

在Rust和C之间传递字符串,有 7 种方法!

非凸科技

c rust

QCN9074 WiFi 6E Card OpenWRT, IPQ6010,802.11ax,wallys,QCN9074 802.11ax 4x4 MU-MIMO 6GHz wifi6E

wallys-wifi6

IPQ6010 QCN9074

演进式架构从不缺设计方法,最大的阻力在于「人」

万事ONES

Bundle-less 的思考和实践分享

字节跳动终端技术

bundle 字节跳动 前端 构建工具 拆包

金融和科创深化合作,常熟农商银行与博云签署战略合作协议

BoCloud博云

云计算 容器 云原生

华为云安全云脑,让企业云化运营更放心

IT资讯搬运工

蓝桥杯历届试题 蚂蚁感冒(模拟版+非模拟版)

Five

算法 算法竞赛 8月月更

身价百亿的Zendesk:创业,从一个小目标开始

ToB行业头条

万物皆可集成系列:低代码释放用友深度价值(1)—系统对接集成

葡萄城技术团队

3D可视化在智慧园区的应用

3DCAT实时渲染

软件测试100天上岸3-测试有哪些最高原则

和牛

测试 8月月更

VPN是什么?VPN与堡垒机有啥区别?

源字节1号

软件开发 小程序开发

开源一夏 | Node.js实战之Node多进程与JXcore 打包深入运用

恒山其若陋兮

开源 8月月更

专访通过 OBCP V3 首位考生:V3 让知识更加结构化、体系化

OceanBase 数据库

轻量化服务,大道至简,触手可及

鼎道智联

微服务 云服务 PWA 轻应用 原子化服务

华为云主机安全助力企业种出“金葫芦”

IT资讯搬运工

2022 全球 AI 模型周报

Zilliz

深度学习 计算机视觉 Transformer 多模态

7大特征交互模型,最好的深度学习推荐算法总结

博文视点Broadview

基于 Impala 的高性能数仓建设实践之虚拟数仓

网易数帆

大数据 impala 数仓架构

OceanBase CEO杨冰:小就是大,构建企业核心竞争力

OceanBase 数据库

毕业设计

Asha

OceanBase 4.0发布:首次实现单机分布式一体化架构、全面上云

OceanBase 数据库

​五大不良 coding 习惯,你占了几样?

SEAL安全

Code 代码规范 CODING

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