Я пытаюсь вернуть RSpec-тесты моего приложения Rails к работе.Насколько я могу судить, единственная реальная разница между тем, когда они были зелеными и сейчас, заключается в том, что я сейчас использую ruby 1.9, тогда как раньше они проходили с ruby 1.8.7.
У меня есть модель
class Change < ActiveRecord::Base
...
end
которая использует спецификацию:
describe ChangeObserver do
let (:c) { Change.new(:comment => "Test", :originator => "x.y")}
it "finds affected modules for a change" do
c.should_receive(:affected).and_return([])
c.save
end
end
(да, мне нужен экземпляр Change для тестирования наблюдателя).
Эти спецификации не работают с:
1) ChangeObserver finds affected modules for a change
Failure/Error: c.save
NoMethodError:
undefined method `save' for #<RSpec::Matchers::Change:0x3c8e5f0>
Так что, очевидно, мой класс Change
конфликтует с [RSpec::Matchers::Change][1]
, но это не всегда происходило (я уверен, что он работал с ruby 1.8.7).Есть ли что-то отличное от того, как ruby загружает модули в 1.9?Как я могу require
мой собственный Change
класс (примечание: он не находится внутри модуля, поэтому я не знаю, как его квалифицировать).