これは、より高度なRails開発者にとっては単純な問題ですが、答えを特定することはできませんでした。合格していない非常に基本的なコントローラーの仕様が2つあります。関連付けられたビューはありませんが(を介して製品を追加/削除していますRailsAdmin
)、コントローラーでは各アクションでリダイレクトしているため、これは問題にはなりません。
関連するコードを以下に添付します。ヘルプは大歓迎です。ありがとう!
products_controller_spec.rb には'spec_helper'が必要です
describe ProductsController do
describe 'GET #new' do
it "creates a new product" do
get :new
response.should be_success
end
end
describe 'POST #create' do
it "creates a new product and saves it" do
expect{
post :create, product: FactoryGirl.attributes_for(:product)
}.to change(Product, :count).by(1)
end
end
end
controllers / products.rb
class ProductsController < ApplicationController
def new
@product = Product.new
redirect_to 'home'
end
def create
@product = Product.create(params[:product])
redirect_to 'home'
end
end
エラーメッセージ:
Failures:
1) ProductsController GET #new creates a new product
Failure/Error: response.should be_success
expected success? to return true, got false
# ./spec/controllers/products_controller_spec.rb:7:in `block (3 levels) in <top (required)>'
2) ProductsController POST #create creates a new product and saves it
Failure/Error: expect{
count should have been changed by 1, but was changed by 0
# ./spec/controllers/products_controller_spec.rb:13:in `block (3 levels) in <top (required)>'
Finished in 0.07747 seconds
2 examples, 2 failures