1
我需要測試我的方法是正確的產生,實施是一樣的東西rspec的如何測試,如果我的收益率被稱爲
def method(val)
@attr = yield(val)
end
,我寫我的測試,如:
expect{ |b| x.method(&b) }.to yield_control.once
問題是我需要@attr分配能夠完全完成我的測試。由spec生成的塊b
不返回零,因此@attr
變成零,這使得不可能得出規範。
我基本上需要塊返回它收到的相同值。
我試着創建一個lambda,期待它收到call
但它不工作,我猜是因爲是塊。
l = ->(k,v) { v } # I set the return value
expect(l).to receive(:call).once
x.method(&l)
# call is not called
如何將l
轉換爲塊時執行?