Are*_*rel 5 rspec ruby-on-rails
编辑:
我发现如果我view.lookup_context.prefixes = %w[base]之前插入render,测试知道正确的路径.这是解决这个问题的最佳/正确方法吗?
我将所有部分内容放在一个基本文件夹中,并且所有可以访问这些部分的控制器都继承了base_controller这一部分,但是生成的视图测试无法找到基本文件夹中的部分内容.
这是错误:
Failure/Error: render
ActionView::Template::Error:
Missing partial /admin_menu, circuits/admin_menu with {:locale=>[:en], :formats=>[:html, :text, :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :handlers=>[:erb, :builder, :coffee, :jbuilder]}. Searched in:
* "/Users/Mac/Folder/ProjectName/app/views"
Run Code Online (Sandbox Code Playgroud)
如何告诉我的视图测试在哪里查找部分?
为了完整性,这是规格:
require 'spec_helper'
describe "circuits/index" do
before(:each) do
assign(:circuits, [
stub_model(Circuit,
:name => "Name",
:description => "MyText"
),
stub_model(Circuit,
:name => "Name",
:description => "MyText"
)
])
end
it "renders a list of circuits" do
view.lookup_context.prefixes = %w[base application]
render
assert_select "tr>td", :text => "Name".to_s, :count => 2
assert_select "tr>td", :text => "MyText".to_s, :count => 2
end
end
Run Code Online (Sandbox Code Playgroud)
使用部分继承将主题功能添加到我的应用程序时,我遇到了类似的问题。对于Rails 4,它与编辑后的答案有些不同-我必须在我的视图规范中添加以下内容:
before do
view.lookup_context.view_paths.push 'app/views/themes/light'
end
Run Code Online (Sandbox Code Playgroud)
该themes/light文件夹包含一些特定于轻主题的部分。
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |