【问题标题】:Helper Test Error in Rails AppRails 应用程序中的帮助程序测试错误
【发布时间】:2015-01-06 03:36:15
【问题描述】:

我正在尝试为助手编写测试。目前我的代码如下所示:

application_helper_test.rb

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

class ApplicationHelper < ActiveSupport::TestCase

  def test_title
    assert_equal "Test", title
  end
end

application_helper.rb

module ApplicationHelper
  def title
    controller_name.humanize
  end
end

但是我的终端出现这个错误,有什么帮助吗?

Run options: --seed 4320

# Running:

E

Finished in 0.022048s, 45.3556 runs/s, 0.0000 assertions/s.

  1) Error:
ApplicationHelper#test_title:
NameError: undefined local variable or method `title' for #<ApplicationHelper:0x007fd4eef00760>
    application_helper_test.rb:7:in `test_title'

1 runs, 0 assertions, 0 failures, 1 errors, 0 skips

【问题讨论】:

    标签: ruby-on-rails ruby testing ruby-on-rails-4 helpers


    【解决方案1】:

    我猜你的断言是这里的问题。应该是:

    assert_equal "Test", ApplicationHelper.title
    

    另外,一个建议是将您的测试类名称从 ApplicationHelper 重命名为 ApplicationHelperTest。

    更新: 你的模块应该稍微改变一下:

    module ApplicaitonHelper
       def self.title
          controller_name.humanize
       end
    end
    

    【讨论】:

    • 'NoMethodError: undefined method `title' for ApplicationHelper:Module' 没有修复它
    • @siaw23:更新了我的答案。试试看,因为我没有在这台机器上安装 ruby​​。答案完全来自我的经验。
    • 我明白了:pastebin.com/43qNuU4P 我看到问题出在测试中方法的名称上。但为什么?我不明白。
    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多