测试ruby中的线程代码

发布时间:2020-08-01 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了测试ruby中的线程代码脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为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项目中获得这方面的一些具体测试想法.

总结

以上是脚本之家为你收集整理的测试ruby中的线程代码全部内容,希望文章能够帮你解决测试ruby中的线程代码所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!