2009-01-13 81 views

回答

35

在rails 3中,您可以执行此操作(实际上它是生成器创建的):

require 'test_helper' 

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

,当然还有the rspec variant by Matt Darby作品在轨道3太

11

被盗从这里: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 

[被盗马特 - 达比,谁在这个线程也写了。]可以作为做相同的RSpec:

require File.dirname(__FILE__) + '/../spec_helper' 

describe FoosHelper do 

    it "should do something" do 
    helper.some_helper_method.should == @something 
    end 

end 
+0

最好从'派生的ActionView :: TestCase`否则你就必须到`params`哈希 – 2018-03-06 05:03:56

28

你可以做与RSpec相同:

require File.dirname(__FILE__) + '/../spec_helper' 

describe FoosHelper do 

    it "should do something" do 
    helper.some_helper_method.should == @something 
    end 

end 
+0

没有访问是这样的时候,我希望我能批准两个答案。您是否介意将我的答案复制并粘贴到您的答案中,并将其作为这个问题的答案? – aronchick 2009-01-14 20:36:34

+2

什么是帮手?我得到`未定义的局部变量或方法`。 – 2013-02-13 19:02:59

5

这个线程是慈祥的老人,但我想我会用我用回复:

# 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 
0

我只是张贴了这个在另一个线程上回答同样的问题。我在我的项目中做了以下工作。

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