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存入
答案 0 :(得分:3)
你试图断言
x.y(nil)
被调用。
要断言使用y=
参数调用方法nil
,您需要改为使用:y=
符号。
allow(x).to receive(:y=){ "xyz" }
expect(x).to have_received(:y=).with(nil)