我正在使用 Torquebox 构建触发捕获系统,并使用 Torquespec 进行 TDD / BDD 系统管理捕获的triggethers 的队列并处理它们。以下是 torquebox.rb 配置文件和 start_spec.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
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 也有相同的结果,原因可能是什么?提前谢谢
答案 0 :(得分:0)
我发现我们需要使用
而不是使用fetch
来获取指定的队列对象
TorqueBox::Messaging::Queue.new('/queues/my_queue')
即便想到这似乎我们正在创建一个新队列,它实际上做的是获取对torquebox.rb