Почему объекты машиниста не сохраняются внутри вложенных блоков?
Это мой код спецификации, который не работает:
require 'spec_helper'
describe User do
describe "blah" do
it "should save itself" do
user = User.make!
u = User.find user.id
user = User.make!
u = User.find user.id
end
end
end
Спецификация не работает на втором User.find, даже если этот пользовательский объект имеет идентификатор.
Если я удаляю блок 'description "blah" do', то, похоже, код работает нормально. Я использую машиниста 2.0.0.beta2.
Если я отключаю кэширование машиниста в моем конфигурационном файле test.rb, это также работает:
Machinist.configure do |config|
config.cache_objects = false
end
Кто-нибудь знает, что я здесь делаю не так? Это плохая практика, чтобы вкладывать несколько описаний в спецификацию?
Спасибо
1 ответ
Это также должно работать:
u = User.make
u.save
Я постоянно сталкиваюсь с этой ошибкой, используя Machinist. Я не думаю, что это является исключительным для вложенных описаний, оно, похоже, всплывает и в других ситуациях. Очень хотелось бы, чтобы они это исправили. Это вызывает кажущиеся случайными ошибки, которые трудно отследить.