在RSpec中测试动态设置常量

时间:2012-08-29 12:09:47

标签: ruby-on-rails ruby rspec rspec-rails

我有一个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代码。

0 个答案:

没有答案