Rake::TestTask не работает файлы minitest

Я использую 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

1 ответ

Решение

Итак, две вещи, которые вы можете проверить:

1) Убедитесь, что вы используете minitest-rails драгоценный камень

Он добавляет множество задач для тестировщиков, которые мы хотим и нуждаемся.

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

2) Содержание вашего minitest_helper.rb файл (а-ля 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 ...
Другие вопросы по тегам