InfoQ

新闻

RSpec 1.1 - BDD拥趸者们的盛宴

作者 Rick DeNatale译者 马家宽 发布于 2007年12月18日 上午7时32分

社区
Ruby
主题
敏捷技术,
质量交付,
Ruby on Rails
标签
BDD,
Rails,
测试驱动开发,
RBehave,
RSpec

Ruby社区最近发布了一大批重量级的成果。我们刚刚在12月7日迎来了Rails 2.0发布版。而现在,David Chelimsky宣布RSpec 1.1正式发布

这一新的发布版可以很好的和Rails 2.0进行协作。RSpec的主干版本一直与EdgeRails(Rails的开发版,也就是尚未发布的版本)保持同步,那些同时为EdgeRails和RSpec主干版本贡献力量的开发者也不断的帮助RSpec团队解决二者间的各种冲突。这是此次发布版的一大特点。此外,RSpec 1.1还有其他一些引人入胜之处。

RSpec 1.1中新加入的主要特性之一是story runner。Story的概念出自于Dan North的rbehave tool(这一工具已经被整合在RSpec之中)。Story以可执行的形式给出某一应用的需求陈述。对于Rails开发者,RSpec 1.1.0还包含了RailsStory。这一机制用来充当“传统”Rails中集成测试(使用Test:Unit)的角色,同时也可以在其他诸如验收测试中发挥作用。

对于那些已经使用了Test::Unit的Rails项目来说,应用RSpec的一个不便之处是如何进行从Test::Unit到RSpec的转换。RSpec现在提供了一个简单易行的解决方案。面向Rails的RSpec运行时实际上已经基于Test::Unit进行了一年多的构建工作。RSpec 1.1.0中引入了Spec模块,该模块可以被Test::Unit中的TestCases所包含。采用这一方式,您就可以逐渐的从Test::Unit过渡到Rspec格式,渐进的完成TestCases到example groups、tests到examples和assertions到expectations的转换。这使得您可以对已有TestCases进行转换,并在整个过程中保持被修改的TestCases始终可以正确的运行。

另一个主要的新特性是可以通过嵌套方式来组织example groups。嵌套中的“父-子”关系可以自然的表达泛性规范和对其进行了变更的子规范。在许多情况下,比起RSpec已有的公共规范,使用子规范更加合适。

总而言之,无论对于RSpec已有使用者,还是未来的潜在用户,RSpec 1.1的发布都是一个重大新闻。

您在用RSpec吗?如果还没有,为什么不试一试呢?

译注:原文标题中的Step Up指代2006年拍摄的一部《舞出我人生》的影片。当时该片以一千万小成本制作,冲出了一亿美元的亮眼票房,获得了很大成功。如果要访问这部电影的官方主页,可以点击这里

查看英文原文:RSpec 1.1 - A Step Up for BDD advocates

没有回复

回复

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。