我想从TDD开始,但是我遇到了这个错误,我正在使用rvm - ruby 3.0.0和rails 6.1.1
An error occurred while loading ./spec/models/user_spec.rb. - Did you mean?
rspec ./spec/spec_helper.rb
Failure/Error: require File.expand_path('../config/environment', __dir__)
LoadError:
cannot load such file -- rexml/document
/home/manci/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:34:in `require'
/home/manci/.rvm/gems/ruby-3.0.0/gems/activesupport-6.1.1/lib/active_support/dependencies.rb:332:in `block in require'
/home/manci/.rvm/gems/ruby-3.0.0/gems/activesupport-6.1.1/lib/active_support/dependencies.rb:332:in `require'
/home/manci/.rvm/gems/ruby-3.0.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/firefox.rb:22:in `<main>'
/home/manci/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
字符串
该如何解决这个问题?
3条答案
按热度按时间ha5z0ras1#
正如RSpec的成员Jon Rowe在这里指出的(https://github.com/rspec/rspec-rails/issues/2441#issuecomment-756621403),如果你使用的是Ruby 3.0.0,你必须安装
rexml
。此gem已从Ruby 3.0.0的标准gem集中删除,
rails-controller-tests
需要此gemkpbwa7wx2#
我在这里找到了解决方案https://github.com/rspec/rspec-rails/issues/2441
为了子孙后代,你可以(目前)使用rspec的ruby和rails的最新版本是:
ruby 2.7.2 rails 6.0.3
khbbv19g3#
我有一个类似的(但不同的)错误消息,原因是不同的。
我通过运行
rspec --backtrace
并滚动到输出的顶部并向前阅读第一行来解决,它应该会显着缩小问题的范围。(在我的情况下,我错过了我的测试环境的一些creds,但情况会有所不同)。更多信息here .