How to run a single test from a rails test suite? How to run a single test from a rails test suite? ruby-on-rails ruby-on-rails

How to run a single test from a rails test suite?


NOTE: This doesn't run the test via rake. So any code you have in Rakefile will NOT get executed.

To run a single test, use the following command from your rails project's main directory:

ruby -I test test/unit/my_model_test.rb -n test_name

This runs a single test named "name", defined in the MyModelTest class in the specified file. The test_name is formed by taking the test name, prepending it with the word "test", then separating the words with underscores. For example:

class MyModelTest < ActiveSupport::TestCase  test "valid with good attributes" do    # do whatever you do  end  test "invalid with bad attributes" do    # do whatever you do  endend

You can run both tests via:

ruby -I test test/unit/my_model_test.rb

and just the second test via

ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes


Run a test file:

rake test TEST=tests/functional/accounts_test.rb

Run a single test in a test file:

rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"

(From @Puhlze 's comment.)


For rails 5:

rails test test/models/my_model.rb