我是Rails的新手,并且正在关注Michael Hartl的Rails教程。我在第5章中遇到了rspec的问题。这是麻烦的spec / helpers / application_helper_spec.rb:
require 'spec_helper'
describe ApplicationHelper do
describe "full_title" do
it "should include the page title" do
full_title("foo").should =~ /foo/
end
end
end
和bin / rspec spec / helpers / application_helper_spec.rb给出:
Failure/Error: Unable to find matching line from backtrace
NoMethodError:
undefined method `load_session' for nil:NilClass
我在app / helper / application_helper.rb中定义了ApplicationHelper,并且spec / requests中的测试过去没有问题。 关于发生了什么的任何想法?提前谢谢!
这是app / helper / application_helper.rb
module ApplicationHelper
# Returns the full title on a per-page basis.
def full_title(page_title)
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
base_title
else
"#{base_title} | #{page_title}"
end
end
end
如果有人想要它,这里是spec / spec_helper.rb: http://dpaste.com/1309484/
宝石的版本: http://dpaste.com/hold/1309485/
被修改
好吧,我认为这是一个spork问题,但我不确定,因为如果我用这个替换require“spec_helper”行:
require "/home/charlie/rails_projects/sample_app/app/helpers/application_helper.rb"
RSpec.configure do |c|
c.include ApplicationHelper
end
测试过去了。我所有的spec_helper都是设置spork。那我的spec_helper.rb有问题吗?
答案 0 :(得分:0)
似乎可以通过将guard-spork更新为1.4.2来解决,并且
bundle install