免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

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

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

关注

评论

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

详细介绍OAuth2

Java 程序员 后端

读懂这些面试题,月薪45K完全没问题?

Java 程序员 后端

跨年巨作!13万字!腾讯高工纯手写“JDK源码笔记”直接带你飙向实战

Java 程序员 后端

逼着面试官问了我ArrayList和LinkedList的区别,他对我彻底服了

Java 程序员 后端

请您谈下数据库调优,指的是哪方面?

Java 程序员 后端

设计模式(七):桥接模式

Java 程序员 后端

详解2021最底层Mysql索引原理及其优化

Java 程序员 后端

超详细Redis入门教程

Java 程序员 后端

超详细:常用的设计模式汇总

Java 程序员 后端

透过根源从而探究红黑树的本质,究竟二叉树是什么神仙鬼怪?

Java 程序员 后端

设计模式——工厂模式

Java 程序员 后端

【LeetCode】环形链表 II Java题解

Albert

算法 LeetCode 11月日更

还在傻乎乎得背MyISAM与InnoDB 的区别?一篇文章让你理解的明明白白

Java 程序员 后端

这400道面试题,决定了你去BAT还是TMD

Java 程序员 后端

这六个 MySQL 死锁案例,能让你理解死锁的原因!

Java 程序员 后端

适合程序员表白的情话【保你脱单】

Java 程序员 后端

财富自由的声音:蚂蚁上市前,取消了周报

Java 程序员 后端

超进化!阿里腾讯大佬联合撰写亿级网关、分布式、微服务等太香了!(1)

Java 程序员 后端

近年来面试阿里总结出360道面试题,【Java岗】(JVM

Java 程序员 后端

超进化!阿里腾讯大佬联合撰写亿级网关、分布式、微服务等太香了!

Java 程序员 后端

软考(软件设计师)考点总结 -- 数据库技术

Java 程序员 后端

还没搞懂Java中的路径?看完这篇文章你就全懂了

Java 程序员 后端

通过AOP和自定义注解实现请求日志收集功能

Java 程序员 后端

还在担心面试遇到SpringBoot,莫慌,我送你套神级pdf文档

Java 程序员 后端

这篇Kafka笔记真是写的太好了!不收藏都对不起我的眼睛

Java 程序员 后端

适合程序员表白的情话【保你脱单】(1)

Java 程序员 后端

软件设计师复习(一)

Java 程序员 后端

还在用 Guava Cache?它才是 Java 本地缓存之王!

Java 程序员 后端

远景能源java后台开发实习面试题

Java 程序员 后端

送给你一份程序员大佬整理的 HTTP 基础知识大图

Java 程序员 后端

【Flutter 专题】11 图解 ListView 的多种绑定方式

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

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