我试着加入一些助手,用rspec测试,但运气不好.

我所做的:

在我的spec文件夹下创建了一个support/helpers.rb文件.

support/helpers.rb

module Helpers
  include ActionView::Helpers::NumberHelper
  include ActionView::Helpers::TextHelper
end

并试图在spec_helper.rb年内获取该文件.

# This file is copied to spec/ when you run 'rails generate rspec:install'
require 'rubygems'
require 'spork'
require 'support/helpers'

Spork.prefork do
.
.
end

这会产生以下错误:

/spec/support/helpers.rb:2:in `<module:Helpers>': uninitialized constant Helpers::ActionView (NameError)

我应该怎样做才能让Rspec提供这些帮助?

谢谢

推荐答案

在Rails堆栈可用后,我通常会包含以下代码,以要求我的spec/support子目录下的所有内容:

Spork.prefork do

  # ...

  Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }

  RSpec.configure do |config|
    config.include MyCustomHelper

    # ...
  end
end

请注意,所有示例类型(控制器、模型、视图、助手等)中都将包含MyCustomHelper个.通过传递:type参数,可以缩小范围:

config.include MyControllerHelper, :type => :controller

Ruby-on-rails相关问答推荐

ruby on rails:错误未知关键字::当使用google-cloud-storage下载文件时,soft_deleted

Rails:嵌套命名空间产生一个奇怪的部分路径,导致MissingTemplate错误

未捕获语法错误:try 编辑TRIX时,请求的模块未在Rails 7.1中提供名为默认的导出(在youtube.js:1:8)

关于关联 has_many 的多级/三重嵌套形式

Sweet Alert 2 在 Rails 7 应用程序中无法正常工作

当我必须更改 rspec 中的方法时,如何检测时间?

无效的单表继承类型:Rails

GroupingError:错误:列必须出现在 GROUP BY 子句中或在聚合函数中使用

Ruby on Rails 有没有好的管理生成器?

如何在 Windows 中更新 ruby

使用回形针进行简单裁剪

如何从 ActiveRecord 中的每个组中获取最新记录?

可能在rails中有多态has_one关系?

Rails 5:无法从参数中检索哈希值

我如何找出为什么我不能#destroy() 记录?

Rails Associations - has_many => :through - 但相同的模型

Rails SQL 正则表达式

Heroku - 在浏览器中显示当前提交的哈希

在 Ruby on Rails 中的控制器中获取 URL 的锚部分

使用 Rspec 测试关联的正确方法?