3

プロジェクトの 1 つで minitest を使用していますが、Rake TestTask で実際にファイルを実行できないようです。

require 'rake'
require 'rake/testtask'

task :mytest do
  Rake::TestTask.new do |t|
    t.test_files = Dir.glob('test/model/*_test.rb')
    t.verbose = true
    puts t.inspect
    puts '-------------------------------------'
  end
end

このタスクを実行するrake mytestと、次の出力が得られます。

projects@webdev-local:/home/projects/framework# rake mytest
#<Rake::TestTask:0x00000001775050 @name=:test, @libs=["lib"], @pattern=nil,  
@options=nil, @test_files=["test/model/page_model_test.rb", 
"test/model/widget_model_test.rb"], @verbose=true, @warning=false, @loader=:rake, 
@ruby_opts=[]>
-------------------------------------

ご覧のとおり、タスクはファイルを見つけますが、実際には実行しません。これらのファイルを実行するにはどうすればよいですか?

Rails 3.2.8 と Ruby 1.9.3 の使用

4

1 に答える 1

1

したがって、確認したいことが2つあります。

minitest-rails1)宝石を使用していることを確認してください

これにより、必要なテストランナータスクが多数追加されます。

https://github.com/blowmage/minitest-rails

2)minitest_helper.rbファイルの内容(a la spec_helper.rb

すべてのテストで必要な、ある種のヘルパーファイルが必要です。次のようになっていることを確認してください。

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

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

class ActiveSupport::TestCase
  fixtures :all
end

これでセットアップが完了したので、次のようにすべてのテストを実行できます。

bundle exec rake test
bundle exec rake minitest # alias for test
bundle exec rake minitest:models

# ... etc ...
于 2013-01-16T22:17:20.287 に答える