Sha256: 5bcd518703257c63df2c4e25e84876521537864d305de996542d0db98aa2d8bf

Contents?: true

Size: 1002 Bytes

Versions: 6

Compression:

Stored size: 1002 Bytes

Contents

require "rake/testtask"

module MiniTest
  module Rails
    module Testing
      mattr_accessor :default_tasks
      mattr_accessor :task_opts

      self.default_tasks = %w(models helpers controllers mailers integration)
      self.task_opts = { "performance" => "-- --benchmark" }

      def self.all_tasks
        Dir["test/*/"].map {|dir| /test\/(.+?)\//.match(dir)[1] }.select do |dir|
          !Dir.glob("test/#{dir}/**/*_test.rb").empty?
        end
      end

      def self.run_tests directories
        errors = directories.collect do |dir|
          task = "minitest:#{dir}"
          begin
            if Rake::Task.task_defined? task
              Rake::Task[task].invoke
            end
            nil
          rescue => e
            { :task => task, :exception => e }
          end
        end.compact

        if errors.any?
          puts errors.map { |e| "Errors running #{e[:task]}! #{e[:exception].inspect}" }.join("\n")
          abort
        end
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
minitest-rails-0.9.2 lib/minitest/rails/testing.rb
minitest-rails-0.9.1 lib/minitest/rails/testing.rb
minitest-rails-0.9.0 lib/minitest/rails/testing.rb
minitest-rails-0.5.2 lib/minitest/rails/testing.rb
minitest-rails-0.5.1 lib/minitest/rails/testing.rb
minitest-rails-0.5 lib/minitest/rails/testing.rb