1

新しいRailsアプリを始めたところです。これまでのところ、コントローラーやモデルはなく、製油所とスプリーが隣り合って動作する2つのエンジンがあります。

それらは次のようにマウントされます:

Store::Application.routes.draw do

  mount Spree::Core::Engine, :at => '/shop'
  mount Refinery::Core::Engine, :at => '/'

end

これで、製油所を使用していくつかのページを設定したので、/に移動すると製油所のホームページが表示され、Aboutusページなどをクリックできます。/shopに移動すると、サイトのスプリーセクションも表示されます。うまく機能しています。

ここで、スプリーエンジンが「/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>"

標準のテストユニットパッケージとレール3.2を使用しています

ご協力いただきありがとうございます!

4

2 に答える 2

0

assert_response の代わりに assert_redirected_to を使用する必要があるかもしれません。 http://api.rubyonrails.org/classes/ActionDispatch/Assertions/ResponseAssertions.html

于 2012-09-20T11:04:38.843 に答える