写点什么

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

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

关注

评论

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

低代码开发平台有什么优势?

代码生成器研究

当我跑越野时,我在想为什么

escray

技术人写作 21 天技术人写作行动营 21 天

Mural在线白板最全解析!Mural功能|发展历程|替代软件推荐!

彭宏豪95

科技 在线白板 办公软件 在线协作 效率软件

工作以来最有成就感的事(深度思考)

Java 工程师蔡姬

21 天技术人写作行动营 #个人总结 #工作总结 #最有成就感的事 #职场思考

只要你想,你就能找到一种方法

学渣汪在央企打怪升级

您距离一个成熟安全的 DevOps 平台,只差一个迁移

极狐GitLab

DevOps gitlab Atlassian Gartner Bamboo

Java——编程语言中的王者

伤感汤姆布利柏

Java 后端 低代码

如何降低代码的复杂度?

代码生成器研究

阿里云数据库MongoDB版助力掌阅平滑上云,撬动数据红利

极客天地

输出内容价值 | 极客写作训练营

6点无痛早起学习的和尚

代码坏味道

HashMap超全源码详解(JDK1.8)

是月月啊2023

Java 面试题

双十一 |顺应平台趋势,在数据中寻找更多生意机会

赛博威科技

数据分析 双十一 电商大促

青椒云云桌面—低配电脑秒变高性能设计神器

青椒云云电脑

桌面云 云桌面 云桌面系统

SQL 数据库语句- 创建和管理数据库

小万哥

MySQL 数据库 程序员 sql 后端开发

分布式系统硬件资源池原理和接入实践

HarmonyOS开发者

HarmonyOS

云桌面是什么?好用的云桌面推荐?

青椒云云电脑

云桌面 云桌面解决方案

行业首家!百度通过DCMM 4级乙方云服务商最高认证,数据管理能力行业领先

百度安全

直播预告 | 降本增效持续深化,如何找准 FinOps 关键着力点?

小红书技术REDtech

云原生 成本优化 FinOps

卫龙 x 赛博威 | 为民族品牌数字化建设添砖加瓦

赛博威科技

营销费用管理 赛博威 卫龙

如何降低代码的复杂度?

代码生成器研究

英特尔是如何实现玻璃基板的?

E科讯

Wireshark中的http协议包分析

小魏写代码

云桌面系统如何使用?云桌面的优势有哪些?

青椒云云电脑

云桌面 云桌面解决方案 云桌面系统

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz AIGC

一种典型的负载均衡解决方案

极客罗杰

2023,“科技无障碍”不谈价值观

脑极体

AI

低代码开发平台有什么优势?

代码生成器研究

5 种主要的云电脑解决方案 - 不同之处

青椒云云电脑

云桌面 云电脑 云桌面解决方案

《21 天技术人写作行动营》--工作后最有成就感的一件事

IT蜗壳-Tango

[译]原生CSS嵌套使用

南城FE

CSS 前端 预处理器 嵌套

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