私は大規模なプロジェクトに取り組んでおり、コンポーネントのいくつかは、サービスに変換して Rails から削除できるクラスのグループであることに気付きました。しかし、ここまでやってみると、Spork を使用しない場合のクラスのロードの遅さは、Rails が遅いためではなく、Ruby が遅いためであることがわかりました。Rails 以外のプロジェクトで動作する Spork のようなものはありますか?
1 に答える
2
Spork はどの Ruby プロジェクトでも問題なく動作するはずですが、もう少しセットアップが必要です。
rspec 2.x
andを使用していると仮定して、次のようなspork 0.9
aを作成します。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 に答える