微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 规格本地传递,但Travis CI失败

我写了一些功能规格来测试通过我的rails应用程序登录,并且规范都在本地传递,但是当Travis CI运行它们时,它们会失败.这是一个例子:
1) User Registration User signs up with valid credentials
     Failure/Error: fill_in 'Username',with: 'dannnnneh'
     Capybara::ElementNotFound:
       Unable to find field "Username"
     # ./spec/features/registrations_controller_spec.rb:8:in `block (2 levels) in <top (required)>'

我在common build problems for Travis CI上阅读使用Capybara.default_wait_time = 15;但是,我或者把它放在错误的地方,否则就不行.

示例说明:

scenario 'User signs up with valid credentials' do
    Capybara.default_wait_time = 15
    visit '/users/sign_up'
    fill_in 'Username',with: 'dannnnneh'
    ...

编辑:

我也试过把capybara.default_wait_time = 15放在rails_helper.rb,spec_helper.rb,spec / support / capybara.rb中.

由于this SO问题,我还将以下内容添加到.travis.yml中.

script:
    - xvfb-run bundle exec rspec spec/features/*.rb

但是,这也不行.

有人知道这个问题可能是什么,还是怎么解决呢?

编辑:

这是我的spec_helper.rb:

require 'simplecov'
SimpleCov.start


require 'capybara'
require 'capybara/poltergeist'

Capybara.javascript_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app,timeout: 15)
end

RSpec.configure do |config|

  config.expect_with :rspec do |expectations|
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
  end

  config.mock_with :rspec do |mocks|
    mocks.verify_partial_doubles = true
  end

end

解决方法

你能发布你的spec_helper吗此外,官方文档还提供了另一种配置xvfb的方法,是否已经检查了 http://docs.travis-ci.com/user/gui-and-headless-browsers/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐