Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
MiniTest extension for Rails
branch: master

This branch is 1 commit ahead, 222 commits behind blowmage:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.autotest
.gemtest
.gitignore
CHANGELOG.rdoc
LICENSE
Manifest.txt
README.rdoc
Rakefile
minitest-rails.gemspec

README.rdoc

minitest-rails

MiniTest integration for Rails 3.

Install

gem install minitest-rails

This installs the following gems:

minitest

Configure

Create a new rails app without Test::Unit:

rails new MyApp --skip-test-unit

Add minitest-rails to the :test and :development groups in Gemfile:

group :test, :development do
  gem 'minitest-rails'
end

Next run the installation generator with the following:

rails generate mini_test:install

This will add the minitest_helper.rb file to the test directory.

Usage

We aim to expose MiniTest with minimal changes for testing within Rails. Because of this, we allow Test::Unit and MiniTest tests to live side by side. Your test classes will inherit from MiniTest::Rails::ActiveSupport::TestCase a opposed to ActiveSupport::TestCase. You can use the MiniTest::Spec DSL. You can generate test files with the standard model, controller, resource, and other generators:

rails generate model User

And you can specify generating the tests using the MiniTest::Spec DSL on any of the generators by providing the --spec option:

rails generate model User --spec

And you can specify not generating the fixture for a model by providing the --skip-fixture option:

rails generate model User --skip-fixture

You can also set these as defaults by adding the following to the config/application.rb file:

config.generators do |g|
  g.test_framework :mini_test, :spec => true, :fixture => false
end

Overriding Test::Unit

Of course, you may not want to maintain separate Test::Unit and MiniTest tests. If this is the behavior you are wanting, simply add the following to your test_helper.rb file:

require "minitest/rails"
MiniTest::Rails.override_testunit!

Capybara

You can use Capybara in your acceptance/integration tests by adding minitest-rails-capybara as a dependency.

group :test, :development do
  gem 'minitest-rails'
  gem 'minitest-rails-capybara'
end

And add the following to your test helper file:

require "minitest/rails/capybara"

See the minitest-rails-capybara project for more information.

Get Involved

Join the mailing list to get help or offer suggestions.

groups.google.com/group/minitest-rails

License

Copyright © 2012 Mike Moore.

Released under the MIT license. See `LICENSE` for details.

Something went wrong with that request. Please try again.