13、RSpec 期望机制深度解析

RSpec 期望机制深度解析

在行为驱动开发(BDD)中,精准表达至关重要。我们期望使用能促进团队成员间沟通的语言、实践和流程,而不考虑每个人对技术问题的理解程度。这就是为什么我们喜欢使用像 Given、When 和 Then 这样的非技术词汇。同时,我们更倾向于使用“期望”(expectations)而非“断言”(assertions)。

1. RSpec 期望基础

在可执行代码示例中,我们设置的是对应该发生的事情的期望,而非必然会发生的事情。RSpec 的期望框架中嵌入了 “should” 这个词。例如,若期望一个计算结果为数字 5,可以这样表达:

result.should equal(5)

这就是一个 RSpec 期望的示例,它表明在代码示例执行的特定点,某个事物应该处于某种状态。RSpec 还有其他一些期望示例:

message.should match(/on Sunday/)
team.should have(11).players
lambda { do_something_risky }.should raise_error(
  RuntimeError, "sometimes risks pay off ... but not this time"
)
2. should、should_not 和匹配器

RSpec 通过利用 Ruby 的开放类特性,为系统中的每个对象添加了 should()

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值