Rails Rake Test:错误运行测试:单位!#<RuntimeError:命令失败,状态为

jak*_*ake 9 testing rake unit-testing ruby-on-rails

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" ]>

这是否意味着我的单元测试文件有什么东西,或者我的模型有什么东西?或者它可能是?

完整跟踪下面.

[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" ]>
Run Code Online (Sandbox Code Playgroud)

编辑

仅当rake返回错误时才会显示此错误.如果没有错误,运行测试的错误也不会显示... Curiouser和curiouser ...

pjm*_*rse 12

当您的某个测试未通过时,这是标准响应.我用一个模型创建了一个空项目,并添加了以下单元测试:

require 'test_helper'

class BlobTest < ActiveSupport::TestCase
  test "test errors" do
    assert false
  end
end
Run Code Online (Sandbox Code Playgroud)

然后我跑了:

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" ]>
Run Code Online (Sandbox Code Playgroud)

我怀疑是因为Test :: Unit向Rake返回一个错误代码,而Rake正在返回这个输出,这使得它看起来像是错误的.(我想有些事情是错的:你的测试没有通过.)