Rake :: TestTask没有运行minitest文件

时间:2013-01-16 19:46:00

标签: ruby-on-rails-3 rake-task 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 个答案:

答案 0 :(得分:1)

所以,您可能想要检查两件事:

1)确保您使用的是minitest-rails gem

它增加了我们想要和需要的许多测试运行任务。

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

2)minitest_helper.rb文件(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 ...