Ruby on rails 使用Rails 4.1中的Minitest 5进行拆分测试

Ruby on rails 使用Rails 4.1中的Minitest 5进行拆分测试,ruby-on-rails,ruby,minitest,Ruby On Rails,Ruby,Minitest,我正在将我的一个项目切换到rails 4.1,默认情况下它使用minitest版本5 我还使用minitest rails 2.0.1 gem 在切换到minitest 5之前,在rails 4.0中,当我运行rake测试时,它通常先运行模型测试,然后运行控制器,等等 现在,对于minitest 5,这种情况似乎不会发生 有没有办法保持当前选项?Rails已更改此行为。它在同一次运行中处理所有测试文件以提高速度。您可以通过使用以下各项运行单独的任务来模拟旧行为: $ rake test:unit

我正在将我的一个项目切换到rails 4.1,默认情况下它使用minitest版本5

我还使用minitest rails 2.0.1 gem

在切换到minitest 5之前,在rails 4.0中,当我运行rake测试时,它通常先运行模型测试,然后运行控制器,等等

现在,对于minitest 5,这种情况似乎不会发生


有没有办法保持当前选项?

Rails已更改此行为。它在同一次运行中处理所有测试文件以提高速度。您可以通过使用以下各项运行单独的任务来模拟旧行为:

$ rake test:units test:controllers test:integration

您可以创建自己的rake任务来单独运行测试。示例:

Rails 5

$ rails test:unit
$ rails test:system

lib/tasks/tests.rake

gem 'minitest'
require 'minitest'
require 'rails/test_unit/minitest_plugin'

namespace :test do
  task :system => "test:prepare" do
    $: << "test"
    Minitest.rake_run(["test/system"])
  end

  task :unit => "test:prepare" do
    $: << "test"
    Minitest.rake_run(FileList['test/*'].exclude('test/system'))
  end
end
$rails测试:单元
$rails测试:系统
lib/tasks/tests.rake
创业板“迷你测试”
需要“小型测试”
需要“rails/test\u单元/minitest\u插件”
名称空间:testdo
任务:系统=>“测试:准备”执行
$:“测试:准备”执行
$: