我有一个如下所示的辅助规范:
require "spec_helper"
describe UsersHelper do
before(:each) do
<strong i="6">@user</strong> = User.make!
end
describe "#link_to_user" do
html = self.helper.link_to_user(@user)
html.should include(@user.nickname)
html.should include(user_path(@user))
end
end
此规范失败并出现以下错误:
/home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/activesupport-3.1.0/lib/active_support/whiny_nil.rb:48:in `method_missing': undefined method `link_to_user' for nil:NilClass (NoMethodError)
from /home/sotakone/work/weedburg/spec/helpers/users_helper_spec.rb:9:in `block (2 levels) in <top (required)>'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:142:in `module_eval'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:142:in `subclass'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:129:in `describe'
from /home/sotakone/work/weedburg/spec/helpers/users_helper_spec.rb:8:in `block in <top (required)>'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:142:in `module_eval'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:142:in `subclass'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:129:in `describe'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/dsl.rb:5:in `describe'
from /home/sotakone/work/weedburg/spec/helpers/users_helper_spec.rb:3:in `<top (required)>'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:69:in `run'
from /home/sotakone/.rvm/gems/ruby-1.9.2-p180@global/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun'
我正在使用 rspec-rails 2.6.1 和 rails 3.1.0。
我是笨蛋,对不起
他没有将规格放在it
-block 中,以防您想知道。
感谢您将其公之于众,因为我刚刚在谷歌上搜索了这个问题并犯了同样的错误!
最有用的评论
他没有将规格放在
it
-block 中,以防您想知道。