Warum lädt mein RSpec Devise :: Test :: ControllerHelpers nicht?

Ich verwende Rails 5 und Devise 3.5.1.

In einem schönen (älteren) Buch über das Erstellen / Testen einer API, die die Devise-Authentifizierung verwendet. Es wurde vor Rails 5 geschrieben, daher habe ich mich entschieden, die neue Nur-API-Version nicht zu verwenden.

Hier ist mein Test ...

#/spec/controllers/api/v1/users_controller_spec.rb    

require 'rails_helper'

describe Api::V1::UsersController, :type => :controller do
    before(:each) { request.headers['Accept'] = "application/vnd.marketplace.v1" }
    describe "GET #show" do
        before(:each) do
            @user = FactoryGirl.create :user
            get :show, params: {id: @user.id}, format: :json
        end
        it "returns the information about a reporter on a hash" do
            user_response = JSON.parse(response.body, symbolize_names: true)
            expect(user_response[:email]).to eql @user.email
        end
        it { should respond_with 200 }
    end
end

Und hier ist ein völlig unerwarteter RSpec-Fehler

Devise::MissingWarden:
       Devise could not find the `Warden::Proxy` instance on your request environment.
       Make sure that your application is loading Devise and Warden as expected and that the `Warden::Manager` middleware is present in your middleware stack.
       If you are seeing this on one of your tests, ensure that your tests are either executing the Rails middleware stack or that your tests are using the `Devise::Test::ControllerHelpers` module to inject the `request.env['warden']` object for you.

So gehe ich hier -http: //www.rubydoc.info/gems/devise/Devise/Test/ControllerHelper

und versuchte dies ->include Devise :: Test :: ControllerHelpers

was hat nicht geholfen, weil die Dateicontroller_helpers.rb ist nirgends in meinem Projekt

Was habe ich hier vermisst?

Vielen Dan

Antworten auf die Frage(6)

Ihre Antwort auf die Frage