[英]How to access a controller constant in an rspec test under Rails 3
使用Rails 3.2我在子目錄中有一個控制器(例如/controllers/data_feeds/acme_feed_controller.rb)
該控制器有一些常數如下
class DataFeeds::AcmeFeedController < ApplicationController
MY_CONSTANT = "hi
def do_something do
...
end
end
在我的rspec控制器規范(在/spec/controllers/data_feeds/acme_feed_controller_spec.rb中)我想訪問該常量,以下是我嘗試過的兩種方法(兩種方式都在下面的代碼中注釋掉)
describe AcmeFeedController do
if "tests something" do
#c = AcmeFeedController.MY_CONSTANT
#c = DataFeeds::AcmeFeedController.MY_CONSTANT
end
end
我顯然不了解規范測試的運行范圍。 我需要做什么,同樣重要的原因(即范圍內發生了什么)。
謝謝你的幫助。
此外,您可以執行此操作而無需重復控制器類名稱空間。
describe AcmeFeedController do
if "tests something" do
c = controller.class.const_get('MY_CONSTANT')
end
end
這種技巧可能不會在應用程序代碼中得到批准,但在測試中可能會被批准。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.