Ruby on rails 如何在Rails中测试助手?
我试图构建一些单元测试来测试我的Rails助手,但我永远记不起如何访问它们。烦人的建议?从这里偷走:Ruby on rails 如何在Rails中测试助手?,ruby-on-rails,ruby,helpers,Ruby On Rails,Ruby,Helpers,我试图构建一些单元测试来测试我的Rails助手,但我永远记不起如何访问它们。烦人的建议?从这里偷走: 您可以在RSpec中执行以下操作: require File.dirname(__FILE__) + '/../spec_helper' describe FoosHelper do it "should do something" do helper.some_helper_method.should == @something end end require File
您可以在RSpec中执行以下操作:
require File.dirname(__FILE__) + '/../spec_helper'
describe FoosHelper do
it "should do something" do
helper.some_helper_method.should == @something
end
end
require File.dirname(__FILE__) + '/../spec_helper'
describe FoosHelper do
it "should do something" do
helper.some_helper_method.should == @something
end
end
在rails 3中,您可以这样做(事实上,它是生成器创建的):
需要“测试助手”
类YourHelperTest
当然,在rails 3中也可以使用此线程,这有点旧,但我想我应该用我所使用的来回答:
# 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'
在这种情况下,我希望我能批准两个答案。你介意把我下面的答案复制粘贴到你的答案中,我会把它作为这个问题的答案吗?什么是帮助者?我得到了
未定义的局部变量或方法
。我也得到了未定义的局部变量或方法助手
,然后我按照处的说明进行解析。在我的例子中,我已经有了config.expert\u spec\u type\u from\u file\u location代码>但忘记了需要“spec\u helper”
。希望有帮助!对于使用此包含概念的人,只有一个警告。如果您不小心将其放在“descripe…”之前,它在单个测试中可以正常工作,但可能会由于双重包含而破坏您的测试套件。最好从ActionView::TestCase
派生,否则您将无法访问params
Hash
# 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'