Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include Rails Helpers on RSpec

I'm trying to include some helpers to test with rspec but no luck.

What I did:

created a support/helpers.rb file under my spec folder.

support/helpers.rb

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

and tried to require this file in 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 

this generates the following error:

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

How should I do this helpers to be available with Rspec?

Thanks.

like image 554
Kleber S. Avatar asked Feb 25 '12 15:02

Kleber S.


People also ask

Where are custom view helpers Rails?

Custom HelpersEdit Custom helpers for your application should be located in the app/helpers directory.

Can we use helper method in controller Rails?

In Rails 5, by using the new instance level helpers method in the controller, we can access helper methods in controllers.


1 Answers

I normally include this code to require everything under my spec/support subdirectory once the Rails stack is available:

Spork.prefork do    # ...    Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }    RSpec.configure do |config|     config.include MyCustomHelper      # ...   end end 

Note that this will include MyCustomHelper in all example types (controllers, models, views, helpers, etc.). You can narrow that down by passing a :type parameter:

config.include MyControllerHelper, :type => :controller 
like image 192
Brandan Avatar answered Sep 21 '22 09:09

Brandan