我正在开发一个大项目,我意识到有几个组件是类组,我可以将其转换为Rails中的服务和剥离。但是现在我已经完成了这一点,我意识到没有Spork加载类的速度慢并不是Rails缓慢的功能,但是Ruby的功能很慢。是否有类似Spork的东西可以在非Rails项目中使用?
答案 0 :(得分:2)
Spork应该适用于任何ruby项目,它只需要更多设置。
假设您正在使用rspec 2.x
和spork 0.9
,请制作一个类似于spec_helper.rb
的{{1}}。
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。