【问题标题】:Ruby rspec test command: could not locate GemfileRuby rspec 测试命令:找不到 Gemfile
【发布时间】:2012-10-29 09:59:08
【问题描述】:

我刚刚在 Windows 7 上安装了 Ruby 1.9.3,还安装了 ruby​​gems。我正在尝试使用 rspec,所以我跑了: 宝石安装 rspec

它似乎运行良好,一切都安装好了。所以我继续尝试this 页面上的示例。但是每当我运行 rspec 命令时,我都会收到以下错误消息:

“找不到 Gemfile”。

根据示例,我应该得到:“./bowling_spec.rb:4: 未初始化的常量保龄球”

我用谷歌搜索过,有人建议我尝试 bundle exec rspec,但它仍然产生了相同的结果。 我也在this 页面上尝试了这个建议,但它产生了相同的结果。我究竟做错了什么?谢谢

【问题讨论】:

    标签: ruby rspec rubygems rspec2


    【解决方案1】:

    使用此内容创建 Gemfile。 Gemfile 可以没有扩展名或 .gem 扩展名

    source 'https://rubygems.org'
    gem 'rspec'
    

    所以你有

    app/
      Gemfile or Gemfile.gem
      spec/
        bowling_spec.rb
    

    您可能还需要在之后执行此命令

    gem install bundler
    

    然后,在应用目录中

    bundle install
    

    【讨论】:

    • 嗨,我用什么扩展名保存 gem 文件?另外,我在哪里可以找到您所指的这个 app/spec 目录?我刚刚创建了一个 rspec_tutorial 文件夹来存储这些测试文件。谢谢
    • Gemfile 没有扩展名。我指的应用程序目录是您正在测试的目录。因此,在您的情况下,可能是应用程序 rspec_tutorial,您应该将规范文件放在规范目录中,以便 rspec 知道从哪里获取它们。这不是必需的,但在实际项目中你会这样做。另外我认为它应该是规范目录而不是规范。对不起。
    • 好的,谢谢,但我仍然对 gem 文件没有扩展名的原因感到困惑?那我应该保存为txt文件吗?当我尝试 bundle install 命令时,它仍然说找不到 gemfile
    • 嗯。我从未在 Windows 的 Ruby 中工作过,但如果您无法创建没有任何扩展名的文件(即使使用代码文本编辑器?),请尝试使用 .GEM 扩展名
    • 好吧,我就是这么做的。我将它保存为 GemFile.gem 并将其与 Bowling_spec.rb 文件一起保存在 rspec_tutorial 目录内的 spec 文件夹中。还是同样的错误信息找不到 GemFile
    【解决方案2】:

    gem install rspec 在与您的应用程序相同的目录中,并且 将 require 语句更改为 require './bowling.rb'

    【讨论】:

    • 感谢您的回复,但它仍然没有工作编辑。我从路径变量中删除了 rspec.cmd 文件,这次它起作用了。但我认为链接中教程的想法是要求代码是错误的,所以它会给出所需的错误消息?问题是当我这样做时,我会收到大量令人困惑的错误消息,而不仅仅是一个:(
    • 又试了一遍,还是找不到gemfile
    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    相关资源
    最近更新 更多