Rails引擎和jbuilder视图测试

时间:2015-07-29 11:52:27

标签: ruby-on-rails ruby json ruby-on-rails-4 rspec

我正在构建一个rails应用程序来处理搜索功能。

最初,它是在现有应用程序中构建为控制器关注点,具有关联的routing concern和json视图。现在已将其提取到没有ActiveRecord的引擎中,我希望能够在其他应用程序上安装。

以上是否对我不确定的问题有用。

我想测试我的json文件(通过jbuilder构建)但是在将规范与应用程序结合时遇到了麻烦。

我似乎无法克服此错误

  1) views/api/search/feed.json should render without error
     Failure/Error: render
     ActionView::MissingTemplate:
       Missing template views/api/search/feed with {:locale=>[:en], :formats=>[:html, :text, :js, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :variants=>[], :handlers=>["json"]}. Searched in:
         * "/Users/***/projects/morse_searchable/spec/dummy/app/views"
         * "/Users/***/projects/morse_searchable/app/views"

我觉得这可能是一些问题,我不确定。

  • 我是否在正确的位置测试发动机?
  • 在删除活动记录的过程中我搞砸了什么?
  • 这是我们通常如何测试json文件,更不用说引擎中的json文件了吗?

有关额外信息,我已添加pastebin link to the current folder structure,以便了解此问题。

非常感谢任何指导。

(使用rails 4和rspec)

1 个答案:

答案 0 :(得分:0)

您添加为Rails引擎依赖项的任何gem,都需要在gem模块声明中要求gem。

示例:

位置:engine_root/lib/module_name.rb

require "module_name/engine"
require 'mongoid'
require 'jbuilder'
module module_name
  # Your code goes here...
end