【发布时间】:2015-04-02 17:56:20
【问题描述】:
我创建了一个 stock rails (4.2.1) 应用程序,当我启动 WEBrick 时,我能够获得欢迎页面。但是,我在 rails 应用程序的 Gemfile 中包含了一个 gem,helios。然后我阅读了 helios README / documentation 上的说明,helios 框架可以作为中间件加载到 rails 应用程序中。所以我修改了
application.rb
#application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module HeliosTest
class Application < Rails::Application
# Do not swallow errors in after_commit/after_rollback callbacks.
config.active_record.raise_in_transactional_callbacks = true
config.middleware.use Helios::Application do
service :data, model: '/opt/rails/Accounts.xcdatamodeld/Accounts 3.xcdatamodel/contents'
end
end
end
重新启动,WEBrick,rails 应用程序仍然启动并加载了欢迎页面。但是,当我查看 rails 应用程序的架构时,我注意到它没有改变,因为我在 application.rb 中指定了数据模型。我执行了rake db:migrate,但这也没有改变架构。有人建议我测试我在 rails 应用程序中加载的中间件,所以我在 rails 应用程序中包含了 RSpec 测试框架,但我不确定如何在 RSpec 中编写测试 service 行的测试在 application.rb 中,因为大多数有关测试中间件的 stackoverflow 问题都与测试 http 请求有关。
注意: Rails 应用程序是用名称 helios-test 创建的。
【问题讨论】:
标签: ruby-on-rails ruby rspec rack middleware