首页 > 软件架构 > Rails 4.0 bundle exec rspec spec/requests/xxx 测试失败的解决

Rails 4.0 bundle exec rspec spec/requests/xxx 测试失败的解决

2017年1月11日 发表评论 阅读评论

rails项目没有使用默认的单元测试包,而是使用了rspec-rails来测试.

按照文档说明首先生成对应的测试文件:

rails generate integration_test xxx
      invoke  rspec
      create    spec/requests/xxx.rb

然后在spec/spec_helper.rb中添加以下一句:

RSpec.configure do |config|
  .
  .
  .
  config.include Capybara::DSL
end

最后使用以下测试命令:

bundle exec rspec spec/requests/static_pages_spec.rb

但是不幸的是,在我的系统中出现了错误:

.rvm/gems/ruby-2.2.5/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in `require': cannot load such file -- zip/zip (LoadError)

这是因为selenium-webdriver的版本太低导致,在Gemfile中加入一行:

gem 'selenium-webdriver','~>2.35.1'

再次运行测试命令,很不幸还是报错:

.rvm/gems/ruby-2.2.5/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require': cannot load such file -- test/unit/assertions (LoadError)

这是因为缺少test-unit导致,遂在Gemfile中加入:

gem 'test-unit'

很奇怪,虽然我没有用到test-unit但是还是要加载它!

最后测试一切正常.

作者:mydo 发表于2017/1/11 17:15:54 原文链接
阅读:165 评论:0 查看评论
分类: 软件架构 标签: