8

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

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

  • 库/car.rb
  • 规范/lib/car_spec.rb

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

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

有什么帮助吗?

我上线了:

  • 导轨 3.1.0.rc6
  • rspec 2.6.0
  • spork 0.9.0.rc9
4

3 回答 3

4

尝试使用load该文件Spork.each_run而不是require.

于 2011-08-29T06:13:01.537 回答
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 的东西中。

于 2012-08-06T03:56:40.633 回答
-3

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

于 2012-01-20T21:11:17.067 回答