Spork和minitest:testdrb以SystemExit异常退出

时间:2012-12-04 05:18:42

标签: ruby-on-rails spork

我有一个Rails 3.2项目,安装了spork-rails和spork-minitest。我还有一个集成测试,使用命令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() 处理程序。我有什么办法可以摆脱这个错误吗?

1 个答案:

答案 0 :(得分:-1)

你可以检查或发布文件/home/mike/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/test/unit.rb:326:in

那里有一个退出拼写错误的机会。

在我看到代码之前没有100%,你在终端输入了exit但是错误地输入了文件,这就是造成它的原因