我正在做一个大项目,我意识到其中一些组件是一组类,我可以将它们变成服务并从 Rails 中剥离。但是现在我已经完成了,我意识到在没有 Spork 的情况下加载类的缓慢并不是 Rails 缓慢的函数,而是 Ruby 缓慢的函数。有没有类似 Spork 的东西可以在非 Rails 项目中使用?
问问题
227 次
1 回答
2
Spork 应该适用于任何 ruby 项目,它只需要更多的设置。
假设您正在使用rspec 2.x
and spork 0.9
,请制作一个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 启动时),其余的将在每次测试调用时运行。
如果你有很多特定于框架的设置,你最好为你的库制作一个 AppFramework。有关示例,请参阅padrino AppFramework。
于 2011-07-21T21:43:03.870 回答