2016-05-31 51 views
0

我的RSpec的測試已經開始引發錯誤爲什麼在規格中設置@controller會導致ActionView :: MissingTemplate錯誤?

ActionView::MissingTemplate:

例如Missing template users/index正在籌備中./spec/controllers/users_controller_spec.rb

這些模板肯定存在。

經過很多調試之後,我將其追溯到另一​​個正在測試信譽/積分系統的控制器規範。由於聲譽橫跨各種控制器和操作應用,我設立各規格類似以下內容:

#./spec/controllers/reputation_rules_spec.rb 
describe 'Reputation Rules', type: :controller do 
    describe "update user" do 
    before :each do 
     @controller = UsersController.new 
    end 
    it 'tests that reputation is adjusted' 
    end 
    describe "tests reptation on other controller/action combinations".... 
end 

如果我註釋掉@controller線,該missing template錯誤消失,但當然聲譽規格則失敗。

爲什麼這個@controller線會影響當前規範之外的測試?

我需要以某種方式在測試後重置@controller,還是我在做其他問題?

回答

0

我解決了這個加

#./spec/controllers/reputation_rules_spec.rb 
after :all do 
    @controller = nil 
end 

,但我仍然不清楚爲什麼@controller是堅持到其他測試

相關問題