3

Rails プロジェクトで実行すると、すべての仕様が実行rake specされ、テストの実行が試行されます (のようにrake test):

$ rake spec
ruby -S rspec ./spec/... #file list
# --> ...  normal RSpec output
Finished in 11.11 seconds
111 examples, 0 failures, 11 pending

# --> here starts the problem <--
Run options: 

# Running tests:

Finished tests in 0.000343s, 0.0000 tests/s, 0.0000 assertions/s.
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

Test::Unitテストがないのに、なぜテストを実行しようとするのか知っていますか? test/(私はディレクトリさえ持っていません)

編集: 他のrakeコマンドを実行すると、彼らは仕事をしますが、エラーで終了します。次に例を示します。

$ rake about
About your application's environment
Ruby version             1.9.3 (i686-linux)
RubyGems version         1.8.24
Rack version             1.4
Rails version            3.2.3
JavaScript Runtime       therubyracer (V8)
Action Pack version      3.2.3
Active Support version   3.2.3
Middleware               ActionDispatch::Static, Rack::Lock, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head, Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport
Application root         /path/to/project
Environment              development
path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:167:in `block in non_options': file not found: about (ArgumentError)
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:146:in `map!'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:146:in `non_options'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:207:in `non_options'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:52:in `process_args'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/minitest/unit.rb:891:in `_run'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/minitest/unit.rb:884:in `run'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:21:in `run'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:326:in `block (2 levels) in autorun'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:27:in `run_once'
        from path/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:325:in `block in autorun'
4

1 に答える 1

3

テストを実行しようとするフックをrequire test/unit有効にするファイル。at_exit

rake タスクからロードされたファイルがこれを行う場合、at_exit フックは実行するテストの名前として rake コマンドの最後の部分を使用してテストを実行しようとします。の場合、存在しないrake aboutという名前のテストを検索します。about

shouldaGemfile に gem があるときに問題が発生しました。これを Gemfile に含めることで解決しました:

gem 'test-unit', :require => "test/unit"
于 2013-04-11T12:54:29.997 に答える