Spork не будет перезагружать файл в lib

Я запускаю rspec с spork и не могу получить файл в lib для перезагрузки при последовательных запусках rspec. Я пробовал требовать файл в 'Spork.each_run'

Я не получаю никаких ответов, поэтому я попытаюсь объяснить дальше. У меня есть следующие файлы в моем приложении Rails:

  • Библиотека /car.rb
  • Спецификация / Библиотека /car_spec.rb

Чтобы запустить тесты, сначала я запускаю spork, затем запускаю 'rspec spec / lib /car_spec.rb'

RSpec не видит мои изменения в классе автомобилей, если я не перезапущу spork.

Любая помощь?

Я на:

  • рельсы 3.1.0.rc6
  • rspec 2.6.0
  • spork 0.9.0.rc9

3 ответа

Решение

Вы должны положить car.rb в app/models,

Пробовать load этот файл в Spork.each_run вместо require,

Я слышу тебя. Перезагрузка файлов в lib/ очень важна.

Когда я делаю require напрямую (например, require "some_dir_under_lib/some_file"), он не перезагружается автоматически. Однако, если я сделаю

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

тогда он автоматически перезагружается! Я хотел бы объяснить, почему!

Кстати, я делаю это в application.rb, а не в spork/spec_helper.

Другие вопросы по тегам