写点什么

使用 Remarkable 进行 Rails 行为驱动开发,提供宏与国际化支持

  • 2009-05-18
  • 本文字数:801 字

    阅读完需:约 3 分钟

许多方法都可以开发、测试和集成 Rails 应用程序:例如使用基础的 Test:Unit ZenTest 进行测试驱动开发,利用 RSpec Shoulda Cucumber 进行行为驱动开发。当然也可以编写自定义的 RSpec 匹配器。

然而,我们却很难找到合适的工具,并挖掘它们的最佳实践。 Remarkable 试图将这些工具的语法统一起来,并添加更多特性,从而避免 Rails 行为驱动开发的痛苦。

Remarkable 框架使用了自己的 DSL(领域特定语言)。它通过提供宏与国际化的支持对 RSpec 进行了扩展。它提供了一个详尽的 RSpec 匹配器集合,能够根据各种选项转换所有的 ActiveRecord 验证。这些选项包括:through, :source, :source_type, :class_name, :foreign_key 等。它同时还为 ActionController 提供了一个匹配器集合。

我们可以使用类似 RSpec 或 Shoulda 的语法(来源于 Remarkable 项目网站):

复制代码
1) it { should validate_numericality_of(:age)<wbr></wbr>.greater_than(18).only_integer }
2) it { should validate_numericality_of(:age, :greater_than => 18, :only_integer => true) }
3) should_validate_numericality_<wbr></wbr>of :age, :greater_than => 18, :only_integer => true
4) should_validate_numericality_<wbr></wbr>of :age do |m|
m.only_integer
m.greater_than 18
# Or: m.greater_than = 18
end

这样我们就可以非常容易地编写模型的规格说明:

复制代码
describe Post do
should_belong_to :user
should_have_many :comments
should_have_and_belong_to_many :tags
should_validate_presence_of :body
should_validate_presence_of :title
should_validate_uniqueness_of :title, :allow_blank => true
end

现在可以获取 Remarkable 3.0 版本,该项目还在持续更新中;下一个版本将提供更多的 Rails 匹配器,例如对 ActionView 的支持。

查看英文原文: Rails BDD with Macros, I18n,… with Remarkable

2009-05-18 12:071413
用户头像

发布了 109 篇内容, 共 46.3 次阅读, 收获喜欢 14 次。

关注

评论

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

2021 - iOS金三银四最新面试技能方向分享

iOSer

ios 面试 技术技能树 程序猿 金三银四

山东“互联网+”,组织部智慧党建解决方案

源中瑞-龙先生

深入了解红黑树

跳蚤

智慧平安社区建设解决方案,社区平安建设

13530558032

膜拜!首次公布Java10W字面经,Github访问量破百万

996小迁

Java 编程 程序员 架构 面试

Alibaba面试:Java三面凉凉!输在了:微服务,Redis,JVM

Java架构之路

Java 程序员 架构 面试 编程语言

人理解迭代,神则体会递归,从电影艺术到Python代码实现神的逆向思维模式

刘悦的技术博客

Python 递归 逆向思维 推理 尾递归

全网最详细的负载均衡原理图解

鞋子特大号

Linux 负载均衡 系统开发

数据应用一

raox

2021全网最全总结美团/阿里/百度等大厂面试真题

比伯

Java 编程 架构 面试 程序人生

955,远程办公,这家公司就在厦门/杭州

夏兮。

远程办公 955 海景 福利好

一个无名之辈与罗永浩的故事

ES_her0

28天写作

区块链+数字版权-区块链存证解决方案

13530558032

2021Java面试必备!啃透这份Java10W字面经,你还用担心被面试官“吊打”?

程序员 架构 面试

科普篇:交智商税的商品

石云升

28天写作 2月春节不断更 智商税

关于事件溯源

架构精进之路

28天写作 事件溯源

阿里+腾讯+字节+滴滴+美团java面试题及答案(2021版)1353道题全部开源

Java架构追梦

Java 面试 架构师 金三银四

一经推出就惨遭GitHub哄抢!什么SQL优化笔记如此出众?

Java架构之路

Java 程序员 架构 面试 语言

1353道,阿里+腾讯+字节+滴滴+美团java面试题及答案(2021版)

Java架构师迁哥

DataNode 服务器节点宕机的时候,HDFS 的处理过程时序图

跳蚤

三分钟扫盲:进程与线程基础必知

飞天小牛肉

Java 面试 后端 操作系统 2月春节不断更

关于链表的一二三事

阿零

学习 链表 数据结构与算法

数据应用二

raox

个人职业规划和定位

张老蔫

28天写作

使用动词的力量

将军-技术演讲力教练

入职没见过P8领导,3月后他带着份769页虚拟机笔记出关了

Java架构之路

Java 程序员 架构 面试 编程语言

五分钟扫盲:进程与线程基础必知

架构 线程’

一次搞明白 Docker 容器资源限制

Java架构师迁哥

架构设计篇之微服务实战笔记(二)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

架构13周

FreeOcean

日记 2021年2月21日(周日)

Changing Lin

2月春节不断更

使用Remarkable进行Rails行为驱动开发,提供宏与国际化支持_Ruby_Sebastien Auvray_InfoQ精选文章