2016-09-27 73 views
0

在我的控制器零:rspec的 - 新實例記錄是根據受讓人

class CategoriesController < ApplicationController 
    before_filter :authenticate_super_admin! 

    def new 
    @thecategory = Category.new 
    @thebrands = Brand.all 
    render "categories/new" 
    end 
end 

在我的測試

require 'rails_helper' 

RSpec.describe CategoriesController, type: :controller do 

    before(:all) do 
    @the_super_admin = createLoggedInSuperAdmin 
    end 

    context "#new" do 

    it "instantiates new category" do 
     get :new 

     expect(assigns(:thecategory)).to be_a_new(Category) 
    end 
    end 
end 

它不斷告訴我expected nil to be a kind of Model,當我用撬受讓人(檢查它:模型)顯示爲無

我一直沒有找到任何答案可以幫助我解決這種情況

+0

你使用什麼類型的測試?這是水豚測試嗎? – slowjack2k

+0

哪個rails版本?控制器測試中的「分配」最近已被棄用。 –

+0

http://blog.bigbinary.com/2016/04/19/changes-to-test-controllers-in-rails-5.html –

回答

0

原來我是個白癡,該createLoggedInSuperAdmin調用應該已經包裹在before(:each)代替before(:all),這是爲什麼認證工作爲第一個測試,但未能在第二個