2

次のように、構成ファイルからいくつかの定数を作成する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 のコードです。

4

0 に答える 0