Cucumber,Capybara和Rails - 页面根本没有渲染

时间:2014-07-11 18:58:44

标签: ruby-on-rails cucumber capybara

我将rails 2.3应用程序升级到rails 3.2。我试图让我们的黄瓜覆盖率恢复,我遇到了一个奇怪的问题。一切都只是空白。我尝试使用webkit和chrome运行它(不是selenium,它还没有使用我当前版本的firefox)

# config/environments/test.rb
config.cache_classes = true
config.serve_static_assets = true
config.static_cache_control = "public, max-age=3600"
config.whiny_nils = true
config.consider_all_requests_local       = true
config.action_controller.perform_caching = false
config.action_dispatch.show_exceptions = true
config.action_controller.allow_forgery_protection    = false
config.action_mailer.delivery_method = :test
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :protocol => "https"}
config.active_support.deprecation = :stderr

没有什么超级奇怪的。我的黄瓜env文件都是标准的,有一些单独的支持文件,用于配置factory_girl,database_cleaner和capybara。 Capybara配置:

require 'capybara/rails'
require 'capybara/webkit'
if ENV["CAPYBARA_JAVASCRIPT_DRIVER"] == "chrome"
  Capybara.register_driver :chrome do |app|
    Capybara::Selenium::Driver.new(app, :browser => :chrome)
  end
end
Capybara.javascript_driver = (ENV["CAPYBARA_JAVASCRIPT_DRIVER"] || 
  :webkit).to_sym

再一次,没什么了不起的。所以我有一个简单的黄瓜功能。

Given(/^I am logged in"$/) do
  visit "/login"
end

浏览器打开,它向http://127.0.0.1:45393/login发出请求,但没有任何反应。否#34;未找到"页面,没有例外提出或显示。它只是呈现一个白页。空标签。

如果我在访问行之后放入调试器并检查page.html,则会返回""

我一直拖着测试日志。并且它显示数据库清理程序在运行示例之前截断了DB,然后ActiveRecord正在实例化fixture。它显示:

Started GET "/" for 127.0.0.1 at 2014-07-11 15:04:53 -0400

但它并不提供任何资产或在后端提供任何内容。

我已尝试添加到Capybara的其他配置选项,例如app_host,run_server和server_port,但这并没有改变行为。

知道我在这里失踪的是什么吗?

0 个答案:

没有答案