這是我的規格文件未按規格:傳遞變量時,測試
require 'rails_helper'
RSpec.describe Programmes::ReportsController, :type => :controller do
let!(:programme) { create(:programme) }
context 'authenticated user' do
describe 'GET index' do
it 'responds with a 200 OK status code' do
get :index, params: { id: programme.id }
expect(response).to have_http_status(:success)
end
end
end
end
這是我廠;
FactoryGirl.define do
factory :programme do
name { Faker::Lorem.word }
description { Faker::Lorem.sentence(3) }
end
end
這是我的控制器;
class Programmes::ReportsController < ApplicationController
def index
end
def create
end
end
我似乎無法得到此規範通過。該路線在瀏覽器中正常工作。例如
http://localhost:3000/programmes/{:id}/reports
我的錯誤是:
Failures:
1) Programmes::ReportsController authenticated user GET index responds with a 200 OK status code
Failure/Error: let!(:programme) { create(:programme) }
NoMethodError:
undefined method `create' for #<RSpec::ExampleGroups::ProgrammesReportsController::AuthenticatedUser::GETIndex:0x007fac78b1b440>
# /Users/mike/.rvm/gems/ruby-2.2.3/gems/actionpack-5.0.0/lib/action_dispatch/testing/assertions/routing.rb:172:in `method_missing'
我很新的紅寶石(和Rails)。我不認爲是正在FactoryGirl創建的程序對象 - 但我真的不知道如何找出如果這是
您是否確實安裝並配置了'factory_girl' gem? – spickermann
不知道配置,但安裝了'factory_girl(4.7.0)'。 – mikelovelyuk