我正在尝试在Rspec 3.0中使用Spree 2.3路由助手。在主应用程序中,我可以通过添加前缀spree.
来访问它们,如下所示:
spree.admin_login_path => 'spree/admin/user_sessions#new'
但是我似乎无法在Rspec中访问它们。
#rspec error
undefined local variable or method `spree_admin_login_path'
我找到了在rails_helper文件中包含帮助器的参考,但是会引发错误
# app/spec/rails_helper.rb
RSpec.configure do |config|
config.include Spree::Core::UrlHelpers
end
# configuring the above results in the following
app/spec/rails_helper.rb:21:in `block in <top (required)>': uninitialized constant Spree (NameError)
如何在我的测试中访问$ rake routes
中给出的狂欢路线?
答案 0 :(得分:4)
在深入研究Spree代码之后,我能够为rails_helper文件整理这个设置,让我在我的spec文件中使用spree路由,例如spree.admin_login_path
:
# app/spec/rails_helper.rb
require 'spree/testing_support/url_helpers'
RSpec.configure do |config|
config.include Spree::TestingSupport::UrlHelpers
end
我确信有一种更顺畅的方式可以包括所有Spree的测试助手,而且我很乐意听到有人知道的事情。