我正在尝试访问我的测试辅助器中Sinatra设置中定义的变量,没有运气。这是我的代码:
主应用:
require 'sinatra'
set :foo, 'bar'
# use settings.foo in the routes
tests/test_helper.rb
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
,但无效。
我还尝试添加下面的辅助方法:
lib/helpers/settings_helper.rb
module SettingsHelper
def foo
settings.foo
end
end
helpers SettingsHelper
这在app
内部起作用,但在test_helper
内不起作用。我尝试在test_helper
中需要settings_helper.rb
。还添加了include
。这些都没有用。
有人知道我在做什么错吗?
节日快乐
不确定这是否适用于经典样式应用程序。但是,使用模块化应用程序,您可以进行MyApp.set :foo, 'bar'
。因此,您可以尝试Sinatra::Application.set :foo, 'bar'
希望这会有所帮助。