Ruby on rails 3 Rake::TestTask未运行小型测试文件
我正在为我的一个项目使用minitest,而我似乎无法让Rake TestTask实际运行这些文件Ruby on rails 3 Rake::TestTask未运行小型测试文件,ruby-on-rails-3,rake-task,minitest,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 '--------------
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
当我运行此任务时,我得到以下输出:
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=[]>
-------------------------------------
projects@webdev-本地:/home/projects/framework#rake mytest
#
-------------------------------------
正如您所看到的,任务找到了文件,但它从未实际运行过这些文件。如何让它运行这些文件
使用Rails 3.2.8和ruby 1.9.3,您可能需要检查两件事: 1) 确保您使用的是
minitest rails
gem
它添加了许多我们想要和需要的测试运行程序任务
2) minitest\u helper.rb
文件的内容(laspec\u 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 ...
谢谢你的反馈!这让我回头看看我的gemfile,因为我实际上没有定义这些rake任务(“minitest”和“minitest:models”)。事实上,我的问题是相互冲突的宝石,所以在整理之后,一切似乎都很顺利。再次感谢!很高兴你弄明白了。Mini-test rails实际上为您动态添加了这些任务,因此您可以在任何项目中使用它们。