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

测试ruby中的线程代码

发布时间:2020-12-17 04:03:13 所属栏目:百科 来源:网络整理
导读:我正在为DataMapper编写一个delayed_job克隆.除了工作进程中的线程之外,我已经得到了我认为正在工作和测试的代码.我查看了delayed_job以了解如何测试它,但现在有对该部分代码的测试.下面是我需要测试的代码.想法? (我正在使用rspec BTW) def start say "***
我正在为DataMapper编写一个delayed_job克隆.除了工作进程中的线程之外,我已经得到了我认为正在工作和测试的代码.我查看了delayed_job以了解如何测试它,但现在有对该部分代码的测试.下面是我需要测试的代码.想法? (我正在使用rspec BTW)

def start
  say "*** Starting job worker #{@name}"
  t = Thread.new do
    loop do
      delay = Update.work_off(self) #this method well tested
      break if $exit
      sleep delay
      break if $exit
    end
    clear_locks
  end

  trap('TERM') { terminate_with t }
  trap('INT')  { terminate_with t }

  trap('USR1') do
    say "Wakeup Signal Caught"
    t.run
  end

另见this thread

解决方法

您可以在测试时将工作程序作为子进程启动,等待它完全启动,然后检查输出/发送信号.

我怀疑你可以从Unicorn项目中获得这方面的一些具体测试想法.

(编辑:李大同)

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

    推荐文章
      热点阅读