期待收到零

时间:2014-04-11 00:53:12

标签: ruby unit-testing rspec

Rspec问题

具有

puts x.y
x.y = nil

我想测试此行是否已执行

类似

allow(x).to receive(:y) { 'abc' }

然后

expect(x).to have_received(:y).with nil

但是(零)没有工作

有什么建议吗?

我想确保将y设置为nil,但我不能只检查该值,因为我事先将x.y存入

1 个答案:

答案 0 :(得分:3)

你试图断言

x.y(nil)

被调用。

要断言使用y=参数调用方法nil,您需要改为使用:y=符号。

allow(x).to receive(:y=){ "xyz" }
expect(x).to have_received(:y=).with(nil)