加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何测试块是否已经产生?

发布时间:2020-12-17 01:23:00 所属栏目:百科 来源:网络整理
导读:我有一个测试需要检查是否正在调用给定方法的块. 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
我有一个测试需要检查是否正在调用给定方法的块.

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

基本上我想检查一下,如果没有超时,则调用该块,反之亦然.这在rspec中是否可行?

解决方法

我使用的常见模式:

block_called = false
get_data_with_timeout(1) do
    block_called = true
end
block_called.should be_true

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读