首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以选择将capybara-webkit与RSpec配合使用

可以选择将capybara-webkit与RSpec配合使用
EN

Stack Overflow用户
提问于 2011-12-13 06:53:04
回答 3查看 460关注 0票数 0

我更喜欢使用capybara-webkit作为水豚的驱动程序,但不要期望我的团队中的其他开发人员为了做同样的事情而跳过安装QT的束缚。我想从gemfile中删除capybara-webkit,并且只在需要时才使用它作为测试驱动程序。我尝试使用spec_helper.rb文件中的以下代码完成此操作:

代码语言:javascript
复制
begin
  require 'capybara-webkit'
  driver = :webkit
  puts "capybara-webkit has been detected."
rescue LoadError
  driver = :selenium
  puts "capybara-webkit unavailable. Falling back to Selenium"
  puts "For faster, headless integration tests, install capybara-webkit"
end

Capybara.javascript_driver = driver

问题是,即使安装了capybara-webkit,请求也会失败。我只能假设这是因为它不在我的应用程序包中。我怎么才能避免这个问题呢?有没有办法解决这个问题,而不需要将capybara-webkit添加到Gemfile中?

EN

回答 3

Stack Overflow用户

发布于 2011-12-13 07:00:15

与其执行require检查,不如检查另一个应该存在的组件?Ruby范围之外的东西。您需要这样做,因为gem在捆绑包中不可用。

票数 0
EN

Stack Overflow用户

发布于 2012-01-04 08:41:28

我想您只需要在Gemfile中添加一个自定义组,并将capybara-webkit放在那里即可。然后,其他开发人员可以安装该捆绑包,但不包括该组。

票数 0
EN

Stack Overflow用户

发布于 2013-11-08 08:39:02

我也喜欢使用两者,一般来说,webkit更快,但有时我喜欢看到浏览器做一些事情(比如当我不知道发生了什么,或者向客户显示)我的解决方案是通过gemfile安装这两个文件,并在spec_helper.rb中设置它

代码语言:javascript
复制
Capybara.javascript_driver = :webkit unless ENV['SHOWJS']

这将我的默认设置保留为无头驱动程序,当我想在selenium中看到它时,我可以运行以下命令:

代码语言:javascript
复制
SHOWJS=1 rspec spec/features/user/new_spec.rb

如果您使用guard或其他工具,您可能必须导出环境变量,因为我认为您不能简单地传递它。

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

https://stackoverflow.com/questions/8482100

复制
相关文章

相似问题

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