大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rails Capybara poltergeist ArgumentError:rack-test需要一个机架应用程序,但没有给出,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Failure/Error: visit '/item/new' ArgumentError: rack-test requires a rack application,but none was given
另外我有几个标准的rspec测试,每当我尝试排除所有的测试,rspec测试被成功传递,但只有capy测试失败与奇怪的错误
ActionView::Template::Error: couldn't find file 'jquery.min' (in app/assets/javascripts/application.js:13)
这导致我的困惑.
在某些情况下,我查看了几个类似的线程,在某些情况下,错误是关于在spec_Helper.rb或测试不正确的位置丢失config.include Capybara :: DSl.我做了适当的修改,但它不起作用,错误仍然是一样的.
我的spec_Helper.rb文件
require 'capybara' require 'capybara/dsl' require 'capybara/poltergeist' Capybara.javascript_driver = :poltergeist RSpec.configure do |config| config.include Capybara::DSL end
spec_Helper的完整版本:http://pastebin.com/qkANfu39
测试文件:
#spec/features/test_spec.rb require 'spec_Helper' describe 'accessibility of webpage' do it 'should access web page' do visit '/item/new' expect(pagE).to have_content("Something") end end
思考?
根据报告不再需要此解决方法(请参阅注释),但我还没有检查.
找到解决方法
我必须指定应用程序主机网址和默认驱动程序..
#spec/spec_Helper.rb require 'capybara' require 'database_cleaner' require 'capybara/dsl' require 'capybara/poltergeist' Capybara.configure do |c| c.javascript_driver = :poltergeist c.default_driver = :poltergeist c.app_host = "http://localhost:3000" end
更新1
为了修正错误:
Failure/Error: visit '/item/new' ArgumentError: rack-test requires a rack application,but none was given
我将rails_Helper文件包含到我的Capy测试中.测试的最终版本:
require 'rails_Helper' require 'spec_Helper' describe 'accessibility of webpage' do it 'should access web page' do visit '/item/new' expect(pagE).to have_content I18n.t("form_input.item.item_s") end end
之后,由于某些原因指定app_host url不再需要,它可以从spec_Helper帮助文件中删除.最终版本:
Capybara.configure do |c| c.javascript_driver = :poltergeist c.default_driver = :poltergeist end
完整版的spec_Helper.rb http://pastebin.com/DKgF1uQA
错误
ActionView::Template::Error: couldn't find file 'jquery.min' (in app/assets/javascripts/application.js:13)
发生,因为宝石’jquery-rails’在我的Gemfile的测试范围不可用,它只有在:开发& :生产环境.我把宝石’jquery-rails’移到全球范围.完整版的Gemfile:http://pastebin.com/dt4KrHGG
以上是大佬教程为你收集整理的ruby-on-rails – Rails Capybara poltergeist ArgumentError:rack-test需要一个机架应用程序,但没有给出全部内容,希望文章能够帮你解决ruby-on-rails – Rails Capybara poltergeist ArgumentError:rack-test需要一个机架应用程序,但没有给出所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。