rails構成ファイルを利用するクラスをテストしようとしています。Rails::configurationをモックしたいのですが。
私は次のようなことを試しました
Rails::singleton_class.expects(:configuration).returns('result')
Rails::singleton_class.stubs(:configuration).returns('result')
どうすればこれを行うことができますか?
rails構成ファイルを利用するクラスをテストしようとしています。Rails::configurationをモックしたいのですが。
私は次のようなことを試しました
Rails::singleton_class.expects(:configuration).returns('result')
Rails::singleton_class.stubs(:configuration).returns('result')
どうすればこれを行うことができますか?
Rails.expects(:configuration).returns('result')
あなたの例にはタイプミスがあったことに注意してください。戻り値はreturns
、ではなく、を使用して渡す必要がありますreturn
。
また、をRails.configuration
返しますRails.application.config
。メソッドがRails.configuration
直接使用しない場合、実際には呼び出しをバイパスする可能性があり、期待どおりに機能しません。
Rails.stubs(:configuration).returns(Rails::Application::Configuration.allocate)
ネットレスポンスのモックに関するこの回答は役に立ち ました