Spork不会在lib中重新加载文件

时间:2011-08-27 04:12:02

标签: ruby-on-rails ruby rspec spork

我正在使用spork运行rspec,我无法在lib中获取文件以在连续的rspec运行时重新加载。我试过在'Spork.each_run'

中要求提供文件

我没有收到任何回复,所以我会尝试进一步解释。我的Rails应用程序中有以下文件:

  • LIB / car.rb
  • 规格/ LIB / car_spec.rb

要运行测试,首先我开始spork然后运行'rspec spec / lib / car_spec.rb'

RSpec没有看到我对我的Car类的更改,除非我重新启动spork。

任何帮助?

我在:

  • rails 3.1.0.rc6
  • rspec 2.6.0
  • spork 0.9.0.rc9

3 个答案:

答案 0 :(得分:4)

尝试在load而不是Spork.each_runrequire该文件。

答案 1 :(得分:1)

我听到了你的声音。在lib /中重新加载文件非常重要。

当我直接require(例如require "some_dir_under_lib/some_file")时,它不会自动重新加载。但是,如果我这样做

Dir["some_dir_under_lib/*.rb"].each { |file| require file }

然后它会自动重新加载!我希望我能解释一下原因!

顺便说一句,我在application.rb中这样做,而不是在spork / spec_helper中。

答案 2 :(得分:-3)

你应该把car.rb放在app/models