47 votes

Comment inclure les assistants Rails sur RSpec

J'essaie d'inclure des aides pour tester avec rspec mais sans succès.

Ce que j'ai fait:

créé un support/helpers.rb dans mon dossier spec .

support/helpers.rb

 module Helpers
  include ActionView::Helpers::NumberHelper
  include ActionView::Helpers::TextHelper
end

et a essayé d'exiger ce fichier dans spec_helper.rb .

 # This file is copied to spec/ when you run 'rails generate rspec:install'
require 'rubygems'
require 'spork'
require 'support/helpers'

Spork.prefork do
.
.
end

cela génère l'erreur suivante :

 /spec/support/helpers.rb:2:in `<module:Helpers>': uninitialized constant Helpers::ActionView (NameError)

Comment dois-je faire ces aides pour être disponible avec Rspec ?

Merci.

41voto

Brandan Points 8311

J'inclus normalement ce code pour exiger tout sous mon sous- spec/support une fois que la pile Rails est disponible :

 Spork.prefork do

  # ...

  Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }

  RSpec.configure do |config|
    config.include MyCustomHelper

    # ...
  end
end

Notez que cela inclura MyCustomHelper dans tous les types d'exemples (contrôleurs, modèles, vues, assistants, etc.). Vous pouvez réduire cela en passant un paramètre :type

 config.include MyControllerHelper, :type => :controller

30voto

Devin Brown Points 317

Incluez le module dont vous avez besoin directement dans le fichier de spécifications :

 include PostsHelper

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X