首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rspec Capybara Suite超时

Rspec Capybara Suite超时
EN

Stack Overflow用户
提问于 2015-10-23 23:11:36
回答 1查看 355关注 0票数 3

我们有一个大型的测试套件(完整的构建通常需要15分钟来运行),2天前开始超时,从那时起我们就无法运行完整的构建。我在rails_helper中添加了一个配置,以便在specs运行时间过长时强制它们失败:

代码语言:javascript
复制
config.around(:each) do |example|
    Timeout::timeout(10) {
      example.run
    }
end

昨天我们终于用这个配置运行了一个完整的构建,但是有超过60个失败的规格!规范的运行和通过都是孤立的。

我们的DatabaseCleaner设置如下:

代码语言:javascript
复制
config.before(:suite) do
    DatabaseCleaner.clean_with(:truncation)
end

config.before(:each) do
  DatabaseCleaner.strategy = :transaction
end


config.before(:each, js: true) do
  DatabaseCleaner.strategy = :truncation
end

config.before(:each) do
  DatabaseCleaner.start
end

config.after(:each) do
  DatabaseCleaner.clean
end

config.use_transactional_fixtures = false

在通常是松散的规格中,我们有几个休眠。

不幸的是,当我运行构建并查看测试日志时,没有输出任何有趣的东西来帮助我进行调试。

我认为最后值得注意的信息是我们的gemfile设置。以下是我们的测试组gem:

代码语言:javascript
复制
group :test do
  gem 'capybara-screenshot', '1.0.10'
  gem 'capybara', '2.4.4'
  gem 'rspec-rails', '3.2.0'
  gem 'capybara-webkit', '1.3.1'
  gem 'launchy', '2.4.3'
  gem 'selenium-webdriver', '2.46.2'
  gem 'database_cleaner', '1.3.0'
end

以前有没有人遇到过这样的问题?

提前谢谢你!!

EN

回答 1

Stack Overflow用户

发布于 2015-10-24 04:31:20

结果发现,更新所有测试gem并将以下代码行添加到我们的rails_helper中就是答案:

Capybara::Webkit.configure do |config| config.block_unknown_urls end

不幸的是,我不清楚为什么这是我们的修复,但构建在两天内第一次完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33305772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档