【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

CRMEB 单商户 v4.0 升级,稳得很!

CRMEB

Qt | 定时器实现动画效果时卡住了

YOLO.

c++ 定时器 qt 动画效果 7月月更

浅析 Region split 引入 HFileLink 优化子 Region 操作实现原理

移动云大数据

HBase

并行计算的量化模型及其在深度学习引擎里的应用

OneFlow

深度学习 模型

【C语言】进阶指针One

謓泽

7月月更

三千余字搞定Java并发框架AQS,干货

了不起的程序猿

AQS 并发 Java’ java 编程

一种基于 HiveMetaStore 的跨源查询方案实践

移动云大数据

hive JDBC

Qt|使用QWebEngineView加载HTML使用及问题

中国好公民st

qt 7月月更

直播APP系统源码——短视频直播系统源码

开源直播系统源码

直播系统源码 开源源码 短视频系统源码

Android adb常用命令

沃德

android 程序员 7月月更

Javva基础:多线程重点回顾

百思不得小赵

Java 多线程 7月月更

实现 ABAP 条件断点的三种方式分享

Jerry Wang

debug SAP abap Netweaver 7月月更

GAN简介及原理分析

秃头小苏

GAN 7月月更

JavaWeb Dubbo使用

沃德

Java 程序员 7月月更

spark调优(四):瘦身任务主体

怀瑾握瑜的嘉与嘉

spark 7月月更

测试部门的职责定位

BY林子

软件测试 敏捷测试 测试转型 测试部门职责 测试定位

恭喜这2个大模型开源项目进入OpenI启智社区孵化培育管道

OpenI启智社区

人工智能 开源 大模型

科普达人丨漫画图解SGX加密计算黑科技

阿里云弹性计算

加密计算 TEE

Web预览附件

源字节1号

软件开发 前端开发 后端开发 小程序开发

基于OpenHarmony的智能指南针

OpenHarmony开发者

OpenHarmony

不习惯的Vue3起步一

空城机

Vue3 7月月更

LeetCode-141. 环形链表(java)

bug菌

Leet Code 7月月更

数字化需要安全沙箱技术与零信任架构

FN0

安全 数据安全 零信任

iOS中类的本质及其存储

NewBoy

前端 移动端 iOS 知识体系 7月月更

Java应用的优雅停机总结

陈德伟

Java tomcat Spring Boot web开发 优雅停机

基于物联网设计的老人防摔倒报警系统(华为云IOT)

DS小龙哥

7月月更

【Python技能树共建】python autoscraper 模块

梦想橡皮擦

Python 7月月更

恭喜,成功入坑 GitHub 。。。

攻城狮杰森

git GitHub IP DNS 7月月更

ABAP 编程语言中 Class(类)的设计原理剖析

Jerry Wang

服务器 SAP abap Netweaver 7月月更

java零基础入门-Java反射机制

喵手

Java 7月月更

面试官:说说数据库事务吧!我:这还不简单

了不起的程序猿

数据库 Java 开发 Java’

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