【问题标题】:Rspec test for a helper in my case在我的情况下,Rspec 测试助手
【发布时间】:2011-11-01 08:37:59
【问题描述】:

我正在开发一个 Rails 应用程序。我在 app/helpers/ 下有一个助手,就是 db_data_helper.rb

db_data_helper中的方法主要用于执行sql转储文件,将数据加载到数据库中。帮助器中的这些方法用于一些 Rake 任务。

帮助程序的一些示例代码:

db_data_helper.rb:

module DbDataHelper

  def self.load_data
       # CODE TO EXECUTE SQL dump files
  end
  ...
  ...
end

现在,我想在 Rspec测试这个助手,但我不确定如何在 Rspec 中为这样的助手实施测试。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 为什么您的VIEW助手将数据加载到您的数据库中?如果您需要加载一次数据,请使用db/seed.rb。或者在其他地方写一个不错的 DbImporter。 (例如在 /lib 或 /app/my_app_name/db_importer.rb 中)。

标签: ruby-on-rails ruby-on-rails-3 rspec ruby-on-rails-3.1 rspec2


【解决方案1】:

我只需在我的规范文件中创建一个类:

class DummyDbDataHelper
  extend DbDataHelper
end

describe DummyDbDataHelper do
  it "tests the load_data method" do
    DummyDbDataHelper.load_data.should ...
  end
end

【讨论】:

  • 虽然这是一个正确的答案,但在视图助手中这是非常糟糕的做法。
  • @Ariejan:这似乎不是视图助手
  • @Ariejan:你见过类级别的自定义帮助方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多