我有一个Rails初始化程序,它可以从配置文件中创建一些常量,如下所示:
Kernel.const_set "MailChimp", Module.new
config["lists"].each_pair {|k,v| MailChimp.const_set "#{k}_List".upcase, v} if config
稍后,我有一个观察者订阅者用户到列表:
Delayed::Job.enqueue Jobs::NewsletterSubscriptionJob.new(MailChimp::NEWSLETTER_SUBSCRIBERS_LIST, record)
当我在RSpec中测试时,
Kernel.const_set :MailChimp, Module.new
MailChimp.const_set :NEWSLETTER_SUBSCRIBERS_LIST, "foo"
我得到未初始化的常量UserObserver :: MailChimp
我在规格中看到了一些与常量相关的答案,但我似乎无法使其发挥作用。
如何在RSpec中设置这些常量,以便我可以测试观察者?
仅供参考:这是Ruby 1.8.7代码。