我试图从我的测试帮助程序中访问Sinatra设置中定义的变量而没有运气。这是我的代码:
require 'sinatra'
set :foo, 'bar'
# use settings.foo in the routes
ENV['RACK_ENV'] = 'test'
require 'minitest/autorun'
require 'rack/test'
module Minitest
class Spec
include Rack::Test::Methods
def app
Sinatra::Application
end
before do
# do something with settings.foo
end
end
end
我已尝试Sinatra::Application.settings.foo
和app.settings.foo
,但都没有效果。
我还尝试添加一个如下所示的辅助方法:
module SettingsHelper
def foo
settings.foo
end
end
helpers SettingsHelper
此内容适用于app
,但在test_helper
内部无效。我尝试在settings_helper.rb
中要求test_helper
。还添加了include
。这些都不起作用。
有人知道我做错了什么吗?
节日快乐
答案 0 :(得分:2)
不确定这是否适用于classic style应用。但是使用模块化应用程序,您可以执行MyApp.set :foo, 'bar'
。所以你可以尝试Sinatra::Application.set :foo, 'bar'
希望这有帮助。