Torquebox,Torquespec测试队列无法在remote_describe块中获取

时间:2013-06-12 04:20:09

标签: torquebox

我正在使用 Torquebox 构建触发捕获系统,并使用 Torquespec 进行 TDD / BDD 系统管理捕获的triggethers 的队列并处理它们。以下是 torquebox.rb 配置文件和 start_spec.rb 规范文件的摘要


torquebox.rb

TorqueBox.configure do

 pool :web, :type => :shared

 service TriggerTrapperService do
   config do
    name 'RTBS triggers trapper service'
   end
 end

 queue '/queues/rtbs_triggers_queue'

end


start_spec.rb

require 'torquespec'
require 'torquebox-core'
require 'spec_helper'


describe "local test" do
 deploy <<-END.gsub(/^ {4}/,'')
    application:
        root: #{File.dirname(__FILE__)}/../app
 END

 remote_describe "remote test" do
  include TorqueBox::Injectors

   it "should work" do
     some_service = fetch('/queues/rtbs_triggers_queue')
     some_service.should.equal? nil
   end
 end
end

我遇到的问题是,当我在远程块中获取队列 rtbs_triggers_queue 时,它返回 nil ,就好像在测试环境中 torquebox.rb 没有被阅​​读,我和 torquebox.yml 也有相同的结果,原因可能是什么?提前谢谢

1 个答案:

答案 0 :(得分:0)

我发现我们需要使用

而不是使用fetch来获取指定的队列对象
TorqueBox::Messaging::Queue.new('/queues/my_queue')

即便想到这似乎我们正在创建一个新队列,它实际上做的是获取对torquebox.rb

中声明的队列的引用