21、Ruby测试框架与命令行使用全解析

Ruby测试框架与命令行使用全解析

1. RSpec测试框架的强大功能

RSpec是Ruby中常用的测试框架,其中 allow expect 结构非常强大。可以使用它们对测试替身(test doubles)进行操作,也能对非测试替身对象的特定方法进行存根(stub)。

例如:

obj = double
allow(obj).to receive(:cost).and_return("cheap")
obj.cost
expect(obj).to have_received(:cost)

还可以对现有对象的方法进行存根:

kermit = Muppet.new
allow(kermit).to receive(:greeting).and_return("Hi ho")

不过,测试替身存在一个潜在问题:底层对象的API可能会改变,但使用存根方法的测试仍然能通过。RSpec提供了 instance_double 来解决这个问题:

fake_product = instance_double(Product)
allow(fake_product).to receive(:name).and_return("pretzel")

当使用 instance_do

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值