我有一个Rails应用程序利用黄瓜和RSpec的。我们在存储供应商/宝石宝石,并试图获取应用程序的建筑中,CI服务器(运行测试)。

当我尝试运行我们的测试中,我发现了以下错误:

Missing these required gems:
  cucumber  >= 0.3.11
  rspec-rails  >= 1.2.6

当我运行RAILS_ENV=test rake gems我得到以下:

 - [F] activerecord-oracle-adapter
    - [R] activerecord >= 1.15.5.7843
 - [F] thoughtbot-factory_girl = 1.2.0
 - [F] cucumber >= 0.3.11
    - [ ] term-ansicolor >= 1.0.3
    - [ ] treetop >= 1.2.6
    - [ ] diff-lcs >= 1.1.2
    - [I] builder >= 2.1.2
 - [F] webrat >= 0.4.4
    - [I] nokogiri >= 1.2.0
 - [F] rspec >= 1.2.6
 - [F] rspec-rails >= 1.2.6
    - [F] rspec >= 1.2.7
    - [ ] rack >= 0.4.0
 - [F] thoughtbot-shoulda >= 2.10.2

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

执行空白空[]的意思是宝石丢失?

配置/环境/ test.rb包含以下内容:

config.gem "cucumber",           :lib => false,          :version => ">=0.3.11" unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
config.gem "webrat",             :lib => false,          :version => ">=0.4.4"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/webrat'))
config.gem "rspec",              :lib => false,          :version => ">=1.2.6"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/rspec'))
config.gem "rspec-rails",        :lib => "spec/rails",   :version => ">=1.2.6"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
config.gem "thoughtbot-shoulda", :lib => false,          :version => ">=2.10.2" unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/shoulda'))

所以,一切看起来都在秩序,但它仍然拒绝执行。

我失去了一些东西明显?

有帮助吗?

解决方案

它看起来像你在cucumber目录有rspecrspec-railsvendor/gems冻结(解压缩),但你缺少的cucumberrspec-rails依赖。关于这一问题的评论说,[]表明丢失。

我将开始:

rm -rf vendor/gems/cucumber
rm -rf vendor/gems/rspec-rails
rm -rf vendor/gems/rspec

然后在本地安装的宝石:

gem install rspec rspec-rails cucumber

在这一点上,你应该能够成功地测试应用程序。

如果需要的话

最后,然后解压到你vendor/gems DIR:

RAILS_ENV=test rake gems:unpack:dependencies GEM=rspec-rails
RAILS_ENV=test rake gems:unpack:dependencies GEM=cucumber

或可替换地:

RAILS_ENV=test rake gems:unpack:dependencies

只解压一切为了测试环境进入vendor/gems。这将解开你目前已在本地安装,但不是冻成了应用程序的nokogiri宝石。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top