2016-04-20 2 views
0

Ich habe eine trivialisiert Controller-Aktion in einem ModulWie kann RSpec schlanke Vorlagen erkennen?

module MyEngine 
    module UsersControllerExt 
    extend ActiveSupport::Concern 

    def index 
     @users = User.relevant 
     render template: "users/index" 
    end 

    end 
end 

und eine RSpec Controller betrifft spec anonyme Controller

RSpec.describe MyEngine::UsersControllerExt, type: :controller do 
    controller(ApplicationController) do 
    include MyEngine::UsersControllerExt 
    end 

    describe "GET :show" do 
    it "should set @users instance variable" do 
     get :index 

     expect(assigns(:users)).to be_present  
    end 
    end 

end 

Diese Spezifikation nicht mit

ActionView::MissingTemplate: 
    Missing template users/index with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby]}. Searched in: 
    * "~/Documents/my_engine/spec/dummy/app/views" 
    * "~/Documents/my_engine/app/views" 

Wenn ich die Vorlage ändern Datei index.slim bis index.erb, geht die Spezifikation.
Wie kann ich RSpec schlanke Vorlagen annehmen lassen?

Antwort

0
  1. Stellen Sie sicher, s.add_development_dependency "slim" in gemspec
  2. sicher haben Sie Ihre Testumgebung den Edelstein mit require 'slim' in rails_helper.rb zum Beispiel lädt