我刚刚启动了一个新的 Rails 应用程序。到目前为止,还没有控制器或模型,只有两个引擎:炼油厂和狂欢节并排工作。
它们安装如下:
Store::Application.routes.draw do
mount Spree::Core::Engine, :at => '/shop'
mount Refinery::Core::Engine, :at => '/'
end
现在我已经使用炼油厂设置了几个页面,所以当我去 / 然后我看到炼油厂主页,可以点击关于我们页面等。当我去 /shop 然后我看到网站的狂欢部分也是运作良好。
现在我想写一个小测试,证明 spree 引擎正确安装在“/shop”。我尝试了以下测试:
require 'test_helper'
class SpreeEngineTest < ActionDispatch::IntegrationTest
test "has been correctly mounted" do
get "/shop"
assert_response :success
end
end
但它失败了,结果如下:
Expected response to be a <:success>, but was <302>
我查看了请求的正文,其中包含以下内容:
"<html><body>You are being <a href=\"http://www.example.com/refinery/users/register\">redirected</a>.</body></html>"
我正在使用标准的 testunit 包和 rails 3.2
谢谢你的帮助!