首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于#<RSpec::Core::Configuration:0x007fccf515e338> (NoMethodError)的未定义方法`use_transactional_tests=‘

用于#<RSpec::Core::Configuration:0x007fccf515e338> (NoMethodError)的未定义方法`use_transactional_tests=‘
EN

Stack Overflow用户
提问于 2015-08-07 14:37:45
回答 3查看 4.7K关注 0票数 7

我正在测试新的Rails版本5.0.0.alpha和RSpec 3.1.7,但是我收到了错误:

代码语言:javascript
运行
复制
undefined method `use_transactional_tests=' for #<RSpec::Core::Configuration:0x007fccf515e338> (NoMethodError)

rails_helper.rb中,我通常使用它,并且所有操作都很好:

代码语言:javascript
运行
复制
config.use_transactional_fixtures = true

但我收到这样的警告:

代码语言:javascript
运行
复制
DEPRECATION WARNING: use_transactional_fixtures= is deprecated and will be removed from Rails 5.0 (use use_transactional_tests= instead). (called from block in <module:FixtureSupport> at /Users/monteirobrena/.rvm/gems/ruby-2.2.2@global/gems/rspec-rails-3.1.0/lib/rspec/rails/fixture_support.rb:25)

因此,我更改了我的rails_helper.rb,以使用新的方式:

代码语言:javascript
运行
复制
config.use_transactional_tests = true

现在我收到了这个错误:

代码语言:javascript
运行
复制
/Users/monteirobrena/project/spec/rails_helper.rb:34:in `block in <top (required)>': undefined method `use_transactional_tests=' for #<RSpec::Core::Configuration:0x007fccf515e338> (NoMethodError)
from /Users/monteirobrena/.rvm/gems/ruby-2.2.2@global/gems/rspec-core-3.1.7/lib/rspec/core.rb:81:in `configure'
from /Users/monteirobrena/project/spec/rails_helper.rb:27:in `<top (required)>'
from /Users/monteirobrena/project/spec/controllers/messages_controller_spec.rb:1:in `require'
from /Users/monteirobrena/project/spec/controllers/messages_controller_spec.rb:1:in `<top (required)>'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `block in load_spec_files'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `each'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load_spec_files'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96:in `setup'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84:in `run'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
from /Users/monteirobrena/.rvm/gems/ruby-2.2.2@global/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/bin/rspec:23:in `load'
from /Users/monteirobrena/.rvm/rubies/ruby-2.2.2/bin/rspec:23:in `<main>'
from /Users/monteirobrena/.rvm/gems/ruby-2.2.2@global/bin/ruby_executable_hooks:15:in `eval'
from /Users/monteirobrena/.rvm/gems/ruby-2.2.2@global/bin/ruby_executable_hooks:15:in `<main>'

有什么想法吗?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-07 20:22:14

您得到的反对警告和建议来自Rails,而不是RSpec或rspec宝石。rspec创业板实现了use_transactional_fixtures= 并在Rails中调用相同的方法。。它不实现use_transactional_tests=,所以在进行更改时会收到错误消息。

除非rspec-rails gem被升级以支持新的Rails 5功能,否则您需要直接设置Rails配置--而rails 3.8则不需要。

票数 7
EN

Stack Overflow用户

发布于 2016-03-17 15:26:36

您需要在rspec配置中继续使用config.use_transactional_fixtures = true,用于rails 5 beta (至少在正式发布之前,不确定rspec团队计划支持这一点)。修复程序已经在主分支这是修好它的线。上了

在主分支上设置rspec宝石:

代码语言:javascript
运行
复制
%w[rspec-core rspec-expectations rspec-mocks rspec-rails rspec-support].each do |lib|
    gem lib, git: "https://github.com/rspec/#{lib}.git", branch: 'master'
end
票数 3
EN

Stack Overflow用户

发布于 2016-06-14 21:38:08

我更新了我的rspec版本,所以我不需要更改我的use_transactional_fixtures行。同时,还有一个测试版:

代码语言:javascript
运行
复制
gem 'rspec', '~> 3.5.0.beta4'
gem 'rspec-rails', '~> 3.5.0.beta4'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31880390

复制
相关文章

相似问题

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