写点什么

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

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

关注

评论

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

够屌!看完“大牛程序员必修16课”足足让你超越80%Java面试者!赶紧冲!

比伯

Java 编程 程序员 架构 面试

花火交易所系统APP软件开发

系统开发

今天,我们为什么应该读懂华为人工智能?

脑极体

美团五面+滴滴四面,复盘总结117道面试题,大厂套路展露无遗

Java架构之路

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

多线程之信号量(By C++)

赖猫

c++ 多线程

Rust太难?那是你没看到这套Rust语言学习万字指南!

华为云开发者联盟

rust 语言 开发语言

Java异常处理的9个最佳实践,看看自己是不是都用过?

geekymv

Java 异常处理

游戏自动化测试——局内战斗

行者AI

测试

架构师训练营第五周总结

Geek_xq

架构师训练营大作业1

邓昀垚

普本开发三年,每天两小时面试备战,2个月后五面阿里定级P7

Java架构之路

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

【Java入门】Array

Albert

Java 七日更

架构师训练营第五周作业

Geek_xq

刨根问底,kafka到底会不会丢消息

爱笑的架构师

kafka 消息队列 Kafka知识点 消息中间件 七日更

Hystrix-技术专题-基础运作原理

码界西柚

微服务:服务本身的设计、维护以及治理

积极&丧

别找了,这份PDF是目前Java程序员最全面的学习文档,没有之一

Java架构之路

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

四面美团大众点评归来,分享一下我总结的面试题及解析:并发+spring+分布式+jvm+缓存+数据库

Java架构之路

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

乘百度AI之风,媒体从业者们这样登上智能云端

脑极体

领域驱动落地实现

星际行者

DDD 领域驱动

自定义TBE算子入门,不妨从单算子开发开始

华为云开发者联盟

算法 算子 自定义

华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

华为云开发者联盟

AI 全栈 开发

python3参考秘籍-附PDF下载

程序那些事

Python 程序那些事 Python秘籍 Python数据分析

“关灯”看这出戏,依旧是百年至美

脑极体

真香~~看完看阿里P8大牛手写的450页文档总结,我精通Java并发编程了

Java架构之路

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

一周信创舆情观察(12.14~12.20)

统小信uos

架构师系列11 微服务架构的思考

桃花原记

skynet源码分析之网络层—Lua层

赖猫

c++ lua skynet

关于自己的一个梦(控制)

Yuchen

情绪控制 心理 个人 控制感 自我思考

GitHub标星78.9K的算法宝典,让你分分钟刷爆LeetCode,更有“左神”精讲视频加持,金三银四offer手到擒来

程序员 面试 算法 架构师

刘华:戏说Docker和K8s,一文让你成为懂王

刘华Kenneth

Docker 云计算 Kubernetes DevOps k8s

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