RSpec2 & Rails3,测试助手的基础知识问题

发布于 2024-10-18 08:43:04 字数 701 浏览 4 评论 0原文

这当然是微不足道的,但无法弄清楚出了什么问题。

帮助程序:app/helpers/bookings_helper.rb

module BookingsHelper
  def booking_price(booking)
    "something"
  end
end

帮助程序规范:spec/helpers/bookings_helper_spec.rb

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

describe BookingsHelper do
  describe "#booking_price" do
    helper.booking_price.should == 'something'
  end
end

错误

/Library/Ruby/Gems/1.8/gems/activesupport-3.0.4/lib/active_support/whiny_nil.rb:48:in `method_missing': undefined method `booking_price' for nil:NilClass (NoMethodError)

That's certainly trivial but can't figure out what goes wrong.

Helper : app/helpers/bookings_helper.rb

module BookingsHelper
  def booking_price(booking)
    "something"
  end
end

Helper spec : spec/helpers/bookings_helper_spec.rb

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

describe BookingsHelper do
  describe "#booking_price" do
    helper.booking_price.should == 'something'
  end
end

Error

/Library/Ruby/Gems/1.8/gems/activesupport-3.0.4/lib/active_support/whiny_nil.rb:48:in `method_missing': undefined method `booking_price' for nil:NilClass (NoMethodError)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小草泠泠 2024-10-25 08:43:04

尝试使用它而不是对内部块进行描述:

describe BookingsHelper do
  it "#booking_price" do
    helper.booking_price.should == 'something'
  end
end

Try using it instead of describe for the inside block:

describe BookingsHelper do
  it "#booking_price" do
    helper.booking_price.should == 'something'
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文