0

試行済みのミニテストをテストしようとしています。Railscast の後でようやく何か動作するパターンができましたが、テストが 2 回実行されていました。バンドルの更新を行うように言われたものを見ました。それは私が解決したいくつかの問題につながりました:

/Users/me/.rvm/gems/ruby-1.9.3-p327/gems/minitest-rails-0.5.2/lib/minitest/rails.rb:34:in `<class:TestCase>': undefined method `register_spec_type' for ActionController::TestCase:Class (NoMethodError)
from /Users/salex/.rvm/gems/ruby-1.9.3-p327/gems/minitest-rails-0.5.2/lib/minitest/rails.rb:32:in `<top (required)>'
from /Users/salex/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
from /Users/salex/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/salex/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/salex/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
from /Users/salex/work/aidtdbr/test/minitest_helper.rb:5:in `<top (required)>'
...

require "minitest/rails"私のminitestヘルパーの行を指しています

私のバンドル

Using minitest (4.6.1) 
Using minitest-matchers (1.2.0) 
Using minitest-capybara (0.1.0) 
Using rails (3.2.11) 
Using minitest-rails (0.5.2) 
Using minitest-rails-capybara (0.5.1) 

minitest ヘルパーを再インストールし、いくつかのコメントを外しました

ENV["RAILS_ENV"] = "development"
require File.expand_path('../../config/environment', __FILE__)

require "minitest/autorun"
require "minitest/rails" 
require "minitest/rails/capybara"

class ActiveSupport::TestCase
  # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
  fixtures :all

  # Add more helper methods to be used by all tests here...
end

これは新しいアプリケーションとして開始されたわけではないので、minitest の前に何が問題なのかはわかりませんが、しばらくの間は機能しました。rake testの代わりに を2 回実行していたと思いますrake minitest

4

1 に答える 1

0

デフォルトの test_unit と mini_test railties がアプリ内で競合しています。アプリが常に minitest-rails を使用するように構成されていることを確認するには、config/application.rbファイルに次を追加します。

config.generators do |g|
  g.test_framework :mini_test
end

config/application.rbまたは、ファイルの先頭にある次の行を置き換えることもできます。

require "rails/all"

これとともに:

# Pick the frameworks you want:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
require "minitest/rails/railtie"
于 2013-02-22T23:13:44.343 に答える