Skip to content

Commit

Permalink
Fix bin/test to use Rails::TestUnit
Browse files Browse the repository at this point in the history
The command bin/test stop running single tests once Devise started to
support Rails 5.2. The problem is because we used `rails/test_unit/minitest_plugin`
and this file was moved to another place.

See: rails/rails#29572

I'm not sure if we should require the `minitest-plugin` directly from
Rails like we were doing, I tried it and it didn't work. So I'm
changing this `bin/test` completely based on how Rails does that [here](https://github.com/rails/rails/blob/master/tools/test.rb)
  • Loading branch information
feliperenan committed Jan 29, 2019
1 parent e72839f commit 2dd3225
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,12 @@ bin/test

* Running tests for an specific file:
```bash
ruby -Itest test/models/trackable_test.rb
bin/test test/models/trackable_test.rb
```

* Running a specific test given a regex:
```bash
ruby -Itest test/models/trackable_test.rb --name /authentication/
bin/test test/models/trackable_test.rb:16
```

## Starting with Rails?
Expand Down
16 changes: 10 additions & 6 deletions bin/test
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
#!/usr/bin/env ruby
$: << File.expand_path(File.expand_path('../../test', __FILE__))

require 'bundler/setup'
# Remove this begin/rescue once Rails 4 support is removed.
begin
require 'rails/test_unit/minitest_plugin'
require 'bundler/setup'
require 'rails/test_unit/runner'
require 'rails/test_unit/reporter'
require 'rails/test_unit/line_filtering'

Rails::TestUnitReporter.executable = 'bin/test'

Rails::TestUnit::Runner.parse_options(ARGV)
Rails::TestUnit::Runner.run(ARGV)
rescue LoadError
exec 'rake'
end

Rails::TestUnitReporter.executable = 'bin/test'

exit Minitest.run(ARGV)

0 comments on commit 2dd3225

Please sign in to comment.