Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails Rake Test: Errors running test:units! #<RuntimeError: Command failed with status

Errors running test:units! #<RuntimeError: Command failed with status (1): [ruby -I"lib:test" -I"/Users/jake/.rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.2/lib" "/Users/jake/.rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.2/lib/rake/rake_test_loader.rb" "test/unit/**/*_test.rb" ]>

Does this mean there is something with my units test file, or something with my model? Or could it be either?

Full Trace Below.

[app:]$ rake test --trace
** Invoke test (first_time)
** Execute test
** Invoke test:run (first_time)
** Execute test:run
** Invoke test:units (first_time)
** Invoke test:prepare (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment 
** Invoke db:load_config 
** Execute db:test:purge
** Execute db:test:load
** Invoke db:test:load_schema (first_time)
** Invoke db:test:purge 
** Execute db:test:load_schema
** Invoke db:schema:load (first_time)
** Invoke environment 
** Invoke db:load_config 
** Execute db:schema:load
** Execute test:prepare
** Execute test:units
Run options: 

# Running tests:

..F

Finished tests in 0.411867s, 7.2839 tests/s, 7.2839 assertions/s.

  1) Failure:
test_should_save_user_with_valid_email_and_password(UserTest) [/Users/jake/Sites/app/test/unit/user_test.rb:9]:
Didn't save a valid record

3 tests, 3 assertions, 1 failures, 0 errors, 0 skips
** Invoke test:functionals (first_time)
** Invoke test:prepare 
** Execute test:functionals
Run options: 

# Running tests:



Finished tests in 0.004578s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
** Invoke test:integration (first_time)
** Invoke test:prepare 
** Execute test:integration
Errors running test:units! #<RuntimeError: Command failed with status (1): [ruby -I"lib:test" -I"/Users/jake/.rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.2/lib" "/Users/jake/.rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.2/lib/rake/rake_test_loader.rb" "test/unit/**/*_test.rb" ]>

EDIT

This error only shows up when rake returns an error. If there are no errors, this error for running tests also doesn't show up... Curiouser and curiouser...

like image 937
jake Avatar asked Dec 21 '12 17:12

jake


1 Answers

This is the standard response when one of your tests doesn't pass. I created an empty project with one model, and added the following unit test:

require 'test_helper'

class BlobTest < ActiveSupport::TestCase
  test "test errors" do
    assert false
  end
end

Then I ran it:

dhcp168:unittest pmorse$ rake test
Run options: 

# Running tests:

F

Finished tests in 0.030618s, 32.6605 tests/s, 32.6605 assertions/s.

  1) Failure:
test_test_errors(BlobTest) [/Users/pmorse/Projects/unittest/test/unit/blob_test.rb:8]:
Failed assertion, no message given.

1 tests, 1 assertions, 1 failures, 0 errors, 0 skips
Run options: 

# Running tests:

.......

Finished tests in 0.123589s, 56.6393 tests/s, 80.9133 assertions/s.

7 tests, 10 assertions, 0 failures, 0 errors, 0 skips
Errors running test:units! #<RuntimeError: Command failed with status (1): [ruby -I"lib:test" -I"/Users/pmorse/.rvm/gems/ruby-1.9.3-p194@rails/gems/rake-10.0.3/lib" "/Users/pmorse/.rvm/gems/ruby-1.9.3-p194@rails/gems/rake-10.0.3/lib/rake/rake_test_loader.rb" "test/unit/**/*_test.rb" ]>

I suspect it's because Test::Unit returns an error code to Rake, and it's Rake which is returning this output which makes it look like something is wrong. (And I suppose something is wrong: your tests don't pass.)

like image 63
pjmorse Avatar answered Oct 17 '22 13:10

pjmorse