Create new project with minitest and nice output. Run single test
Quick list how to create simple Ruby project with minitest:
- obiously you need to create new directory
- run
bundle initto generate new Gemfile - add minitest related gems:
group :test do
gem 'minitest'
gem 'minitest-reporters'
gem 'minitest-focus'
end
bundle install- create test file and add
require 'minitest/autorun'
require 'minitest/reporters'
require 'minitest/focus'
Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new]
Reporters add nice formatting to your output. Personaly, I prefer spec-like output, so I used Minitest::Reporters::SpecReporter.
The DefaultReporter gives you the following output:
The SpecReporter gives you the following output:

Run single test
Nice bonus: focus. You just need to add focus before method or it. Source
require 'minitest/autorun'
require 'minitest/focus'
class MyTest < MiniTest::Unit::TestCase
def test_unrelated; ...; end # will NOT run
focus def test_method2; ...; end # will run (direct--preferred)
focus
def test_method; ...; end # will run (indirect)
def test_method_edgecase; ...; end # will NOT run
end
# or, with spec-style:
describe 'MyTest2' do
focus; it 'does something' do pass end
focus it('does something else') { pass } # block precedence needs {}
end