历史
RSpec 起源于 2005 年,最初是 Steven Baker 的一项实验,Dave Astels 和 Aslak Hellesøy 在早期做出了贡献。 David Chelimsky 在那个夏天加入了团队,并在 2006 年接手了项目领导。David 还构建了 rspec-rails,它与 Ruby on Rails 紧密集成。
RSpec 1.0 于 2007 年 5 月发布,其中包含了许多今天仍在 RSpec 中存在的特性。RSpec 1 的运行器具有许多很棒的特性,但它已经达到了速度慢且难以继续演化的程度。
在 2008 年底,Chad Humphries 构建了 Micronaut,一个新的规范运行器,旨在解决这些问题。Micronaut 还包含一个新的元数据系统,该系统提供了比 RSpec 1 更大的灵活性。
在 2010 年初,RSpec 1.3 发布后,David 和 Chad 开始开发 RSpec 2。该项目被拆分为单独的模块化部分,可以单独使用或全部使用。Micronaut 被用作 rspec-core 的基础,rspec-core 是新的运行器。RSpec 2 于 2010 年 10 月发布,经过近一年的努力。
在 2012 年 11 月,领导项目 6 年后,David 决定 转向其他领域。他要求 Myron Marston 接任 RSpec 主要维护者,并要求 Andy Lindeman 接任 rspec-rails 主要维护者。
RSpec 3 的开发 开始于 2013 年 7 月,它 于 2014 年 6 月发布。RSpec 3 对 RSpec 进行了一次“春季大扫除”,删除了许多废弃代码(其中一些可以追溯到 RSpec 1!)。它还提供了 验证模拟对象、可组合匹配器、一种新的语法,允许 RSpec 在没有猴子补丁的情况下使用,以及 许多其他新特性。Andy Lindeman 退出了团队,并要求 Aaron Kromer 接任 rspec-rails 主要维护者。
2018 年 9 月,Myron Marston 辞去了 RSpec 主要维护者的职位(与 David 的 6 年任期相呼应),并将职位移交给 Jon Rowe 和 Penelope Phippen,他们成为了 RSpec 和 RSpec-Rails 的新主要维护者。一年后,Penelope 辞职 专注于 rubyfmt,将 Jon Rowe 留在 RSpec 的主要维护者职位。
2020 年 3 月,RSpec Rails 4.0 发布,此次发布将其与其他 RSpec gem 的发布周期脱钩,以保持与 Rails 的同步。
如今,RSpec 仍在不断改进和发展,这要归功于庞大社区的贡献和数百位贡献者的努力。