我的 Rails 4 beta1 应用程序中有多个 Rails 引擎。我在rspec-rails
每个引擎上都安装了 gem。我按照以下命令创建了引擎:
rails plugin new store_frontend --dummy-path=spec/dummy -d postgresql --skip-test-unit --mountable
在我的引擎的虚拟应用程序中,我配置了数据库和路由。这是示例 routes.rb 文件:
Rails.application.routes.draw do
mount StoreFrontend::Engine => "/store"
end
当我在第一个引擎中运行 rspec 时,出现以下错误:
1) StoreAdmin::DashboardController GET 'index' returns http success
Failure/Error: get 'index'
ActionController::UrlGenerationError:
No route matches {:action=>"index", :controller=>"store_admin/dashboard"}
# ./spec/controllers/store_admin/dashboard_controller_spec.rb:8:in `block (3 levels) in <module:StoreAdmin>'
这是我的控制器测试/它是从 Rails 生成的/:
require 'spec_helper'
module StoreFrontend
describe HomeController do
describe "GET 'index'" do
it "returns http success" do
get 'index'
response.should be_success
end
end
end
end
似乎控制器测试不起作用。我有模型测试,它工作正常。任何的想法?
更新 1: 我的应用程序结构:
bin/
config/
db/
lib/
log/
public/
tmp/
engine1/
engine2/
engine3/