Rspec-rails: méthode non définie `controller' pour RSpec::ExampleGroups::PaymentIQPaymentIQController:Class

Créé le 24 mai 2014  ·  5Commentaires  ·  Source: rspec/rspec-rails

Re-bonjour,

Tout d'abord merci pour la version RC1. J'ai hâte de mettre à niveau tous mes projets pour l'utiliser.

Je rencontre le message d'erreur dans le titre chaque fois que j'essaie de faire quelque chose de fantaisie dans une spécification de contrôleur.

controller do
    before_filter :ensure_player_exists
    before_filter :ensure_session_exists, only: [:create]

    def index
      render :text => 'index called'
    end

    def create
      render :text => 'create called'
    end
  end

Je ne sais pas pourquoi cela a éclaté entre beta2 et rc1. Aucune suggestion? Je ne vois pas la macro controller { } dépréciée nulle part.

Commentaire le plus utile

Aha donc j'ai compris, RSpec a cessé de fonctionner pour les sous-dossiers. Si j'ai une spécification comme /spec/controllers/v1/receipts_controller_spec , elle n'est plus considérée comme une spécification de contrôleur. Si j'ajoute :type => :controller ça marche.

C'est comme ça que ça devrait être ?

Tous les 5 commentaires

Vous utilisez probablement des spécifications de contrôleur inférées et avez manqué l'obsolescence, étiquetez votre spécification avec type: :controller ou activez les spécifications inférées.

Aha donc j'ai compris, RSpec a cessé de fonctionner pour les sous-dossiers. Si j'ai une spécification comme /spec/controllers/v1/receipts_controller_spec , elle n'est plus considérée comme une spécification de contrôleur. Si j'ajoute :type => :controller ça marche.

C'est comme ça que ça devrait être ?

Ouais.

Vous pouvez activer le comportement obsolète avec RSpec.configuration.infer_spec_type_from_file_location!

Super merci @JonRowe

Cette page vous a été utile?
0 / 5 - 0 notes