diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2015-03-21 13:15:56 +0100 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2015-06-04 20:57:08 +0200 |
commit | b6fc8e25a10cc4abdd03018798b180270d6c5d7f (patch) | |
tree | 9bf63625f408ef27a477725a88013e9ca59718ef /activesupport/lib/active_support/test_case.rb | |
parent | ae5f2b4e79f3e41aad8280109d8bfc788a1a2733 (diff) | |
download | rails-b6fc8e25a10cc4abdd03018798b180270d6c5d7f.tar.gz rails-b6fc8e25a10cc4abdd03018798b180270d6c5d7f.tar.bz2 rails-b6fc8e25a10cc4abdd03018798b180270d6c5d7f.zip |
Improve test runner's Minitest integration.
This also adds free mix and matching of directories, files and lines filters.
Like so:
bin/rails test models/post_test.rb test/integration models/person_test.rb:26
You can also mix in a traditional Minitest filter:
bin/rails test test/integration -n /check_it_out/
Diffstat (limited to 'activesupport/lib/active_support/test_case.rb')
-rw-r--r-- | activesupport/lib/active_support/test_case.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/test_case.rb b/activesupport/lib/active_support/test_case.rb index d9a668c0ea..ae6f00b861 100644 --- a/activesupport/lib/active_support/test_case.rb +++ b/activesupport/lib/active_support/test_case.rb @@ -9,6 +9,7 @@ require 'active_support/testing/isolation' require 'active_support/testing/constant_lookup' require 'active_support/testing/time_helpers' require 'active_support/testing/file_fixtures' +require 'active_support/testing/composite_filter' require 'active_support/core_ext/kernel/reporting' module ActiveSupport @@ -38,6 +39,15 @@ module ActiveSupport def test_order ActiveSupport.test_order ||= :random end + + def run(reporter, options = {}) + if options[:patterns] && options[:patterns].any? { |p| p =~ /:\d+/ } + options[:filter] = \ + Testing::CompositeFilter.new(self, options[:filter], options[:patterns]) + end + + super + end end alias_method :method_name, :name |