Почему объекты машиниста не сохраняются внутри вложенных блоков? - PullRequest
2 голосов
/ 28 сентября 2011

Это мой код спецификации, который не работает:

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 Ответ

1 голос
/ 28 марта 2012

Это также должно работать:

u = User.make
u.save

Я постоянно сталкиваюсь с этой ошибкой, используя Machinist. Я не думаю, что это является исключительным для вложенных описаний, кажется, всплывает и в других ситуациях. Очень хотелось бы, чтобы они это исправили. Это вызывает кажущиеся случайными ошибки, которые трудно отследить.

...