1

我正在做一个大项目,我意识到其中一些组件是一组类,我可以将它们变成服务并从 Rails 中剥离。但是现在我已经完成了,我意识到在没有 Spork 的情况下加载类的缓慢并不是 Rails 缓慢的函数,而是 Ruby 缓慢的函数。有没有类似 Spork 的东西可以在非 Rails 项目中使用?

4

1 回答 1

2

Spork 应该适用于任何 ruby​​ 项目,它只需要更多的设置。

假设您正在使用rspec 2.xand 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 回答