3

spork-rails と spork-minitest がインストールされた Rails 3.2 プロジェクトがあります。コマンドを使用して(非常にゆっくりではありますが)正常に実行される統合テストもありますrake test:integration

ここで、ポート 8988 で実行されている spork を使用して、testdrb を介してテストを実行しようとします。

$ bundle exec testdrb -Itest test/integration/**/*_test.rb
No examples found.

Finished in 0.00141 seconds
0 examples, 0 failures

Randomized with seed 35511

Exception encountered: #<SystemExit: exit>
backtrace:
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/test/unit.rb:326:in `exit'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/test/unit.rb:326:in `block (2 levels) in autorun'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/test/unit.rb:27:in `run_once'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/test/unit.rb:325:in `block in autorun'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork.rb:77:in `call'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork.rb:77:in `exec_after_each_run'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/run_strategy/forking.rb:14:in `block in run'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/forker.rb:21:in `block in initialize'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/forker.rb:18:in `fork'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/forker.rb:18:in `initialize'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/run_strategy/forking.rb:9:in `new'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/run_strategy/forking.rb:9:in `run'
/home/mike/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-1.0.0rc3/lib/spork/server.rb:48:in `run'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1508:in `perform'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1586:in `block (2 levels) in main_loop'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1582:in `loop'
/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1582:in `block in main_loop'

一方、Spork ターミナルは成功したテスト実行を出力します。

Running tests with args ["-Itest/", "test/integration/admin/user_test.rb"]...
Run options: 

# Running tests:

Finished tests in 1.551147s, 0.6447 tests/s, 0.6447 assertions/s.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
Done.

この SystemExit エラーを除いて、基本的にすべてが機能しています。これは、at_exit ハンドラーをインストールし、そのハンドラー内で exit() を呼び出す、最小限の自動実行コードから来ているようです。このエラーを取り除くためにできることはありますか?

4

1 に答える 1

-1

ファイル /home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/test/unit.rb:326:in の下のコードを確認または投稿できますか

そこに終了タイプミスがある可能性があります。

コードを見る前に 100% ではなく、ターミナルで exit と入力しましたが、誤ってファイルに入力したため、それが原因です

于 2013-01-22T15:52:28.613 に答える