首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >minitest-rails-shoulda with minitest给了我未定义的方法`run_teardown_hooks‘

minitest-rails-shoulda with minitest给了我未定义的方法`run_teardown_hooks‘
EN

Stack Overflow用户
提问于 2013-02-15 15:37:27
回答 1查看 834关注 0票数 2

请帮忙:

我想使用最小的用户应该。

这是我得到的异常:

代码语言:javascript
复制
NoMethodError: undefined method `run_teardown_hooks' for #<#<Class:0x007fd42ed95490>:0x007fd42ed00c78>
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/mocha-0.10.5/lib/mocha/integration/mini_test/version_230_to_262.rb:39:in `run'
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/activesupport-3.2.11/lib/active_support/testing/setup_and_teardown.rb:36:in `block in run'
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:425:in `_run__1339649173504478165__setup__555511959301366683__callbacks'
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:405:in `__run_callback'
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:385:in `_run_setup_callbacks'
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:81:in `run_callbacks'
/Users/boti/.rvm/gems/ruby-1.9.2-p180@search_server/gems/activesupport-3.2.11/lib/active_support/testing/setup_and_teardown.rb:35:in `run'

这是我的gemfile:

代码语言:javascript
复制
gem 'minitest'
gem 'minitest-should_syntax'
gem 'miniskirt'
gem 'rack-livereload'
gem 'guard'
gem 'guard-minitest'
gem 'guard-bundler'
gem 'guard-livereload'

gem 'annotate', ">=2.5.0"
gem 'guard-annotate'
gem "rb-fsevent"
gem 'database_cleaner'
gem "minitest-rails-shoulda"

gem 'sqlite3', :require => 'sqlite3'

这是我的test_helper:

代码语言:javascript
复制
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'minitest/autorun'
require 'minitest/should_syntax'
require 'factories/factories'

class ActionController::TestCase
  include Devise::TestHelpers
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 14:10:17

Gemfile中,指定gem 'shoulda-matchers', '1.4.1',然后运行bundle update shoulda-matchers

解释

shoulda-matchers 1.4.2引入了对伯恩的依赖,它依赖于被minitest破坏的run_setup_hooks版本,因为minitest中已经删除了run_setup_hooksrun_teardown_hooks

这里有一个关于shoulda-matcher的bug报告,它解释了发生了什么:https://github.com/thoughtbot/shoulda-matchers/issues/235

如果你受到这个问题的影响,花点时间来+1错误报告,这样它就会得到一点爱。

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

https://stackoverflow.com/questions/14890125

复制
相关文章

相似问题

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