我有这两个文件,我想在Rails 4.2中测试它(使用RSpec 3.2) 但是在跑步时我得到了例外。
有没有人有想法解决这个问题?
new.html.erb_spec.rb:
require 'rails_helper'
RSpec.describe "products/new", type: :view do
before(:each) do
assign(:product, Product.new())
end
it "renders new product form" do
render
# assert_select "form[action=?][method=?]", products_path, "post" do
# end
end
end
new.html.erb:
<h1>New Product</h1>
<%= link_to 'Back', products_path %>
例外:
1) products/new renders new product form
Failure/Error: render
ActionView::Template::Error:
undefined local variable or method `products_path' for #<#<Class:0x007fc7da6d6240>:0x007fc7da6cf3a0>
# ./app/views/products/new.html.erb:4:in `_app_views_products_new_html_erb__2726879035604323536_70248169634620'
# /Users/endem/.rvm/gems/ruby-2.2.1/gems/actionview-4.2.4/lib/action_view/template.rb:145:in `block in render'
# /Users/endem/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/notifications.rb:164:in `block in instrument'
# /Users/endem/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
# /Users/endem/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/notifications.rb:164:in `instrument'
关于另一个问题:使用该解决方案并没有帮助。如果使用建议的
spree.products_path
网站中断。 AND:测试没有运行......
奇怪的是,这些测试是由发生器自动生成的(!)并且无法正常工作。
答案 0 :(得分:0)
你有吗
RSpec.configure do |config|
config.include Rails.application.routes.url_helpers
...
end
包含在您的rails_helper中?
答案 1 :(得分:0)
我找到了解决方案......它与进口没有任何关系。
在我的Gemfile中,我有以下行,我在互联网上找到了某个地方:
gem 'rspec-rails', '~> 3.0', require: 'rspec/rails'
我把它修好了
gem 'rspec-rails', '~> 3.3'
之后使用rails 4.2.4和rspec 3.3在我的rails应用程序上消除了所有关于丢失路径等的错误
感谢您的帮助!!!