【发布时间】:2017-06-28 17:49:20
【问题描述】:
我有以下
brokers_controller.rb
class BrokersController < ApplicationController
before_action :authenticate_broker!
before_action :set_broker, only: [:show, :edit, :update, :approve, :destroy]
# GET /brokers
# GET /brokers.json
def index
if current_user && current_user.admin
@brokers = Broker.all
else
@brokers = Broker.where(approved: true)
end
end
# GET /brokers/1
# GET /brokers/1.json
def show
end
# GET /brokers/new
def new
redirect_to brokers_path # brokers can't create brokers
@broker = Broker.new
end
# GET /brokers/1/edit
def edit
end
# POST /brokers
# POST /brokers.json
def create
redirect_to brokers_path
return
# @broker = Broker.new(broker_params)
#
# respond_to do |format|
# if @broker.save
# format.html { redirect_to @broker, notice: 'Broker was successfully created.' }
# format.json { render :show, status: :created, location: @broker }
# else
# format.html { render :new }
# format.json { render json: @broker.errors, status: :unprocessable_entity }
# end
# end
end
brokers_controller_test.rb
require 'test_helper'
class BrokersControllerTest < ActionDispatch::IntegrationTest
include Warden::Test::Helpers
setup do
@broker = brokers(:one)
login_as(@broker, :scope => :broker)
end
teardown do
Warden.test_reset!
end
test "should get index" do
get brokers_url
assert_response :success
end
test "should get new" do
get new_broker_url
assert_response :redirect
assert_redirected_to brokers_url
end
test "should create broker" do
# assert_no_difference('Broker.count') do
post brokers_url, params: { broker: { email: @broker.email, name: @broker.name } }
# end
assert_redirected_to brokers_url
end
日志
>rails test test/controllers/brokers_controller_test.rb:26
Run options: --seed 52623
# Running:
F
Failure:
BrokersControllerTest#test_should_create_broker [C:/Users/Chloe/workspace/test/controllers/brokers_controller_test.rb:31]:
Expected response to be a redirect to <http://www.example.com/brokers> but was a redirect to <http://www.example.com/>.
Expected "http://www.example.com/brokers" to be === "http://www.example.com/".
bin/rails test test/controllers/brokers_controller_test.rb:26
它一直重定向到 root,但我不明白为什么。 “应该得到索引”和“应该得到新的”测试工作正常。
【问题讨论】:
标签: ruby-on-rails unit-testing devise ruby-on-rails-5 minitest