我如何在Rails中testing助手?

我试图build立一些unit testing来testing我的Rails助手,但我永远不会记得如何访问它们。 烦人。 build议?

在轨道3中,你可以做到这一点(事实上,这是发电机创build的):

require 'test_helper' class YourHelperTest < ActionView::TestCase test "should work" do assert_equal "result", your_helper_method end end 

当然,Matt Darby的rspec变种也在rails 3中工作

您可以在RSpec中执行以下操作:

 require File.dirname(__FILE__) + '/../spec_helper' describe FoosHelper do it "should do something" do helper.some_helper_method.should == @something end end 

从这里盗取: http : //joakimandersson.se/archives/2006/10/05/test-your-rails-helpers/

 require File.dirname(__FILE__) + '/../test_helper' require 'user_helper' class UserHelperTest < Test::Unit::TestCase include UserHelper def test_a_user_helper_method_here end end 

[从Matt Darby那里偷来的,也是在这个主题中写的。]你可以在RSpec中做同样的事情:

 require File.dirname(__FILE__) + '/../spec_helper' describe FoosHelper do it "should do something" do helper.some_helper_method.should == @something end end 

这个线程有点旧了,但是我想我会回复我用的东西:

 # encoding: UTF-8 require 'spec_helper' describe AuthHelper do include AuthHelper # has methods #login and #logout that modify the session describe "#login & #logout" do it "logs in & out a user" do user = User.new :username => "AnnOnymous" login user expect(session[:user]).to eq(user) logout expect(session[:user]).to be_nil end end end 

我只是在另一个线程上发布了这个问题。 我在我的项目中做了以下。

 require_relative '../../app/helpers/import_helper'