首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Travis Build找不到Diff::LCS::SpecHelper for Rspec

Travis Build找不到Diff::LCS::SpecHelper for Rspec
EN

Stack Overflow用户
提问于 2014-10-25 11:31:20
回答 1查看 136关注 0票数 0

我正在尝试为我的Ruby项目设置一个Travis构建。测试使用的是rspec。它们使用默认的“rake”任务在本地传递,但在Travis构建时失败,错误如下:

/home/travis/.../vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/diff_spec.rb:6:in‘块in ':未初始化的常量Diff::LCS::SpecHelper (NameError)

我的应用程序没有直接使用diff,它似乎是rspec在内部需要的东西。

完整构建日志在这里

完整源代码在这里

到目前为止我尝试过的事情:

  • 检查依赖项-travis的bundler对所有依赖项使用与我的本地框相同的版本
  • 在Rakefile中添加"require‘diff-lcs“,而我的内部规范--助手--没有帮助
  • 谷歌找不到类似的东西

Travis Config:

代码语言:javascript
复制
language: ruby
rvm:
  - 2.0.0
  - 2.1.0
cache: bundler

Gemfile.lock:

代码语言:javascript
复制
rspec (2.14.1)
  rspec-core (~> 2.14.0)
  rspec-expectations (~> 2.14.0)
  rspec-mocks (~> 2.14.0)
rspec-core (2.14.8)
rspec-expectations (2.14.5)
  diff-lcs (>= 1.1.3, < 2.0)

.rspec

代码语言:javascript
复制
-c 
--default_path . 
--pattern **/*_spec*.rb
--require spec_helper
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-26 03:56:19

通过将模式指定为**/*_spec*.rb,您将告诉RSpec在项目中的所有目录中搜索规范文件。

您还配置了Bundler,以便将gems安装到您的项目目录中,因此RSpec正在搜索所有的gems,并尝试运行它们的规范和您自己的配置。

一个更好的模式是类似于spec/**/*_spec.rb (假设您的所有规范都在spec目录中)。这限制了RSpec对此路径的搜索。

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

https://stackoverflow.com/questions/26561878

复制
相关文章

相似问题

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