我有一个测试需要检查是否正在调用给定方法的块.
block = lambda {
#some stuff
}
block.should_receive(:call)
get_data_with_timeout(1, &block)
def get_data_with_timeout(timeout)
begin
timeout(timeout) {
data = get_data
yield data #do stuff
}
rescue Timeout::Error
#timeout!
end
end
Run Code Online (Sandbox Code Playgroud)
基本上我想检查一下,如果没有超时,则调用该块,反之亦然.这在rspec中是否可行?
我使用的常见模式:
block_called = false
get_data_with_timeout(1) do
block_called = true
end
block_called.should be_true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
605 次 |
| 最近记录: |