1

私は大規模なプロジェクトに取り組んでおり、コンポーネントのいくつかは、サービスに変換して Rails から削除できるクラスのグループであることに気付きました。しかし、ここまでやってみると、Spork を使用しない場合のクラスのロードの遅さは、Rails が遅いためではなく、Ruby が遅いためであることがわかりました。Rails 以外のプロジェクトで動作する Spork のようなものはありますか?

4

1 に答える 1

2

Spork はどの Ruby プロジェクトでも問題なく動作するはずですが、もう少しセットアップが必要です。

rspec 2.xandを使用していると仮定して、次のようなspork 0.9aを作成します。spec_helper.rb

require 'spork'

# the rspec require seems to be necessary, 
# without it you get "Missing or uninitialized constant: Object::RSpec" errors
require 'rspec' 

Spork.prefork do

  # do expensive one-time setup here
  require 'mylibrary'
  MyLibrary.setup_lots_of_stuff

end

Spork.each_run do

  # do setup that must be done on each test run here (setting up external state, etc):
  MyLibrary.reset_db

end

ブロック内のすべてがSpork.prefork(spork の起動時に) 1 回だけ実行され、残りはすべてのテスト呼び出しで実行されます。

フレームワーク固有のセットアップが多数ある場合は、ライブラリ用に AppFramework を作成する方がよいでしょう。例についてはpadrino AppFrameworkを参照してください。

于 2011-07-21T21:43:03.870 に答える