Rspec期望收益率

时间:2015-12-08 13:49:24

标签: ruby-on-rails ruby rspec

我在Rails中有一个哈希值,其中一个值是yield。

C3: =LOOKUP(LEFT(E3; 6);Table2[Part prefix];Table2[Category])
D3: =LOOKUP(LEFT(E3; 6);Table2[Part prefix];Table2[Subsystem])

我不完全确定我如何期望{ key1: 'foo', key2: lambda { |p| root_path(p) }, } 获得此收益 我查看key2,但我不确定这是我需要的。

我想断言yield_control收到一个收益率,我也想断言收益率的回报(key2

1 个答案:

答案 0 :(得分:0)

你想确定key2包含一个lambda,你想测试lambda返回的内容吗?

lambda测试的例子

let(:my_hash)  = {
                   {
                     key1: 'foo',
                     key2: lambda { |p| root_path(p) }
                   }
                 }

expect(my_hash[:key2].try(:lambda?)).to be true

测试结果

expect(my_hash[:key2].call("foo")) to eq root_path("foo")