Hartl 教程中的 bundle exec rspec spec/requests/static_pages_spec.rb 不起作用

2024-04-15

我正在按照 Michael Hartl 的 ruby​​ on Rails 教程来测试示例应用程序(3.2.1 测试驱动开发),但在输入后出现以下错误bundle exec rspec spec/requests/static_pages_spec.rb

/home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in `require': cannot load such file -- zip/zip (LoadError)
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in `<top (required)>'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common.rb:9:in `require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common.rb:9:in `<top (required)>'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver.rb:29:in `require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver.rb:29:in `<top (required)>'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium-webdriver.rb:1:in `require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium-webdriver.rb:1:in `<top (required)>'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /home/rahul/Downloads/rails_projects/sample_app/config/application.rb:12:in `<top (required)>'
    from /home/rahul/Downloads/rails_projects/sample_app/config/environment.rb:2:in `require'
    from /home/rahul/Downloads/rails_projects/sample_app/config/environment.rb:2:in `<top (required)>'
    from /home/rahul/Downloads/rails_projects/sample_app/spec/spec_helper.rb:3:in `require'
    from /home/rahul/Downloads/rails_projects/sample_app/spec/spec_helper.rb:3:in `<top (required)>'
    from /home/rahul/Downloads/rails_projects/sample_app/spec/requests/static_pages_spec.rb:1:in `require'
    from /home/rahul/Downloads/rails_projects/sample_app/spec/requests/static_pages_spec.rb:1:in `<top (required)>'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `block in load_spec_files'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `each'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load_spec_files'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:22:in `run'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
    from /home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'

这是来自的代码spec/requests/static_pages_spec file:

require 'spec_helper'

describe "Static pages" do

  describe "Home page" do

    it "should have the content 'Sample App' " do
      visit '/static_pages/home'
      expect(page).to have_content('Sample App')
    end

  end

end

Gemfile:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.0'

group :development, :test do
  gem 'sqlite3', '1.3.7'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.0.0'
  gem 'capybara', '2.1.0'
end

gem 'sass-rails', '4.0.0'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

routes.rb:

SampleApp::Application.routes.draw do
  get "static_pages/home"
  get "static_pages/help"
end

OS:Ubuntu 13.04

我一直在寻找解决方案,但还没有找到。请记住,我是 Ruby on Rails 和 Web 开发的新手。


错误信息:

in `require': cannot load such file -- zip/zip (LoadError)

指的是一个名为“rubyzip”的缺失宝石。它应该由bundler与selenium-web驱动程序一起安装,但有时这些东西并不完美。在这种情况下,最新版本的“rubyzip”gem 更改了库结构,因此“zip/zip”不存在。 Bundler默认会安装最新版本,这就是为什么安装时没有错误,但是当你尝试运行项目时会出现错误,因为selenium-webdriver依赖列表不知道其中的差异。

尝试添加gem 'rubyzip', '< 1.0.0'到您的测试组,然后重新运行bundle install.


该问题似乎是由更新引起的rubyzip宝石,参见https://github.com/rubyzip/rubyzip https://github.com/rubyzip/rubyzip

The selenium-webdrivergem 可能需要更新以反映这些更改 - 我已经记录了一个问题:https://github.com/vertis/selenium-webdriver/issues/3 https://github.com/vertis/selenium-webdriver/issues/3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hartl 教程中的 bundle exec rspec spec/requests/static_pages_spec.rb 不起作用 的相关文章

  • 资产管道弃用警告 tsort.rb:226

    我的 Rails 4 2 在开发中运行良好 但在生产环境中我收到以下警告 DEPRECATION WARNING The configuration option config serve static assets has been re
  • 如何计算带有偏移量的异或?

    我想用不同的偏移量进行异或计算以在计算中列出 例子 key 0 1 0 text 0 1 0 1 0 1 0 1 1 1 异或计算 key 0 text 0 key 1 text 1 key 2 text 2 key 0 text 3 ke
  • Ruby on Rails REST 设计问题 - 在账户之间转账

    我有一个 Account 类 想要实现转账屏幕以允许用户在 2 个账户之间转账 我将如何实现这种 RESTful 方式 我有标准帐户和休息操作 那很好 但我该如何实现转移呢 通常我只会向帐户控制器和相应的视图添加一个名为 transfer
  • 如何在 Rails 测试中测试 params 哈希?

    以下内容会生成错误 未定义的局部变量或方法 params assert equal params recipient id users one id 如何测试参数哈希 另外 你如何测试assert redirect当存在参数时 参数附加到
  • 遵循 http://ruby.railstutorial.org/ 教程时出现 RSpec 错误

    我到处搜索但似乎找不到解决方案 我一直在关注有关的教程http ruby railstutorial org http ruby railstutorial org 我在第 3 章中尝试使用 rspec spec 执行测试 但是我不断收到以
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • 使用 VCR 过滤敏感数据

    我正在使用 VCR gem 记录 http 交互并在将来重播它们 我想过滤掉 uri 请求中的实际密码值 以下是 uri 的示例 http services somesite com Services asmx Cabins Usernam
  • Ruby on Rails:如何使用 TCP 套接字连接 GPS 设备

    ruby 2 3 0p0 2015 12 25 修订版 53290 x86 64 linux 轨道 4 2 4 我正在使用 cloud9 IDE 和 webrick 服务器 我的项目是实时跟踪GPS 我想使用TCP连接与GPS跟踪设备进行通
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常
  • rvm gem 安装错误?

    我正在摆弄 ruby gems 和 rvm 它工作得很好 但现在当我尝试安装 gem 时出现错误 gem install Rails错误 同时 执行 gem Errno EACCES 权限被拒绝 Users da rvm gems ruby
  • 获取嵌套参数

    我有一个带有嵌套参数的表单 在下面的示例中 如何获取控制器中的 amount whole 值 Parameters utf8 gt authenticity token gt KCmBI6RLh0LdUsM2r5H1vhNykS1IXecF
  • Bundle 说 gem 丢失了 - 但事实并非如此?

    背景 我正在维护contentRuby On Rails 站点 但我确实没有 Rails 的经验 当尝试运行 Rails 服务器时 rails s我明白了 在任何来源中均找不到 activesupport 3 2 0 Run bundle
  • 在 ruby​​ 中下载多个 FTP 文件,如 d*.txt

    我需要连接到 ftp 站点并下载一堆名为 D txt 的文件 最多 6 个 你能帮我用 Ruby 编写这个代码吗 下面的代码只是 ftp Net FTP new ftp server site ftp login user pwd ftp
  • 用户未定义的方法 attr_accessible 错误

    我正在尝试创建某种登录 我创建了一个用户脚手架并将此代码放在我的 user rb 中 class User lt ActiveRecord Base attr accessible name password digest password
  • 在 Ruby 中创建一个空文件:相当于“touch”?

    创建一个的最佳方式是什么emptyRuby 中的文件 类似于 Unix 命令的东西 touch https en wikipedia org wiki Touch 28Unix 29 touch file txt FileUtils tou
  • 红宝石接球和效率

    catch在 Ruby 中意味着跳出深度嵌套的代码 在 Java 中 例如用Java也可以达到同样的效果try catch用于处理异常 但它被认为是糟糕的解决方案 而且效率非常低 在 Ruby 中 我们有处理异常的方法begin raise
  • 如何为 ApplicationController 中 after_action 过滤器中的所有操作渲染 json?

    是否可以在 Rails ApplicationController 中创建一个 after filter 方法 该方法在每个操作上运行并呈现为 JSON 我正在构建一个 API 并且希望将控制器中的每个操作的输出呈现为 JSON 客户控制器
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外

随机推荐

  • 多重继承:从 void * 转换为第二个基类后出现意外结果

    我的程序需要使用 void 来在动态调用情况下传输数据或对象 以便它可以引用任意类型的数据 甚至原始类型 然而 我最近发现 在具有多个基类的类的情况下 向下转换这些 void 的过程会失败 甚至在调用这些向下转换的指针上的方法后使我的程序崩
  • 如果 SELECT 语句没有结果,则使用 CASE 返回字符串

    如果我的 SELECT 语句没有结果 是否可以使用 CASE 返回某个字符串 例子 DECLARE accountnumber AS VARCHAR 10 SET accountnumber account number to search
  • 在 Watson Assistant 中保存用户输入(字符串)

    我正在构建一个基于 IBM Watson 的聊天机器人应用程序 我需要将用户输入保存到变量中 我在网上搜索 只找到输入必须是实体系统 数字 日期 时间 位置 人员 的教程 在我的对话框中 我询问用户他的标识符 该标识符应该是字母数字字符串
  • 在 OR 上下文中使用多个 Laravel 作用域

    我有一个订阅模型 其中包含start date and end date我的 Laravel 应用程序中的属性 我创建了两个查询范围 scopeActive 和scopeFuture 分别 来查找活动订阅和未来订阅 我想知道如何在 OR 上
  • 在Win7 64位上安装Qwt

    我在网上搜索但没有找到适合我的问题的解决方案 Problem Qwt 安装失败nmake step 我做了什么 安装了Qt 5 1 适用于 Windows 64 位的 Qt 5 1 1 VS 2012 525 MB 信息 来自qt 网站 h
  • 保存后从 Django 表单获取模型 ID

    view py someForm SomeForm request POST someForm customSave request user forms py class SomeForm ModelForm class Meta mod
  • 将文本替换为带有 chrome 扩展的链接

    我正在尝试用链接替换网页上的文本 当我尝试这样做时 它只是用标签替换文本 而不是链接 例如 此代码将用以下内容替换 河流 a href http www cnn com asdf a 这是我到目前为止所拥有的 function handle
  • Python:“导入 posix”问题

    如果我导入os模块 我可以运行以下命令来推断 os py 的位置 gt gt gt import os gt gt gt print os file usr lib python2 6 os pyc 但是 当我导入时posix 它不具有 f
  • codeigniter 链接到另一个页面

    我是 codeigniter 框架的新手 我的 href 链接有问题 在我的主页中 我有一些菜单 可以转到不同的页面 例如 在正常的 php 中 如果我想进入 销售书籍 页面 那么我只需将 sellBook php 放在 href 链接中
  • 在 ASP.net 页面中嵌入 SVG

    我想将 svg 直接嵌入到我的 ASP net MVC 视图中 以便输出如下所示
  • 与 BLE 设备交互的 Android 应用程序无法在 Chromebook 上运行

    我有一个与自定义 BLE 设备交互的 Android 应用程序 此应用程序在 Android 版本 4 4 至 6 0 的设备上按预期运行 现在我想通过 Chromebook 上的 Google Playstore Chrome 的应用运行
  • Grails 编辑 Flash 删除消息

    你好 我是 Grails 的新人 我已经实现了一个删除操作 删除了收件箱中的邮件 但现在我想更改闪现消息 以在删除多条邮件时显示 2 条邮件已删除 而不是 邮件 4 已删除 邮件 5 已删除 请协助 以下是我的删除操作 def 删除 def
  • 简单的 Bash if-else

    好吧 由于某种原因我无法让它工作 if etc mysql my cfn exist then goto end else bash install sh end exit 检查不存在并运行install sh如果属实 e etc mysq
  • div 中的 contentEditable javascript 插入符位置

    我有一个contentEditable div 假设用户单击一个按钮 将 HTML 插入可编辑区域 因此 他们单击一个按钮 以下内容将添加到innerHTML of the contentEditable div div div div d
  • 使用批处理文件或 .NET 代码更改 Web.config 中的值

    我的计算机上有一个 web config 文件 我需要在文件中更改和添加很多内容 我实际上正在使用我的 SharePoint web config 文件 我可以用批处理文件来执行此操作吗 如果可以 我该怎么做 或者我如何使用 VB NET
  • 如何使用多个类从 QDialog 获取值

    我目前正在 Nuke 11 的一个面板中工作 该面板打开一个 QDialog 我想知道当我关闭 QDialog 时如何从它获取一个值到我的主类中 QDialog 属于不同的类 这是一个显示我的问题的简化示例 import nuke from
  • 如何将 ResultSet 转换为 Object[] 并检索数据

    我有一个List
  • 如何使用和应用 JavaScript 装饰器?

    我试图了解如何在一段非常简单的代码中使用装饰器 这样我就可以将这个概念应用到我更大的项目中 从 Addy Osmani 的文章中得到启发here https medium com google developers exploring es
  • 网站所有者错误:网站密钥无效

    我创建了一个 reCAPTCHA 密钥并禁用Verify the origin of reCAPTCHA solutions 但我仍然遇到错误ERROR for site owner Invalid site key 我该如何解决 同样在这
  • Hartl 教程中的 bundle exec rspec spec/requests/static_pages_spec.rb 不起作用

    我正在按照 Michael Hartl 的 ruby on Rails 教程来测试示例应用程序 3 2 1 测试驱动开发 但在输入后出现以下错误bundle exec rspec spec requests static pages spe