ruby on rails - RSpec triggering after_save callback on in memory instance of object creation -
when testing particular project create new instance of activerecord object using
objecttype.new(parameters) this instantiation in rspec 3.3 (the latest version) calls after_save callback within model though. behavior not match happens in development environment , expect when new instance in memory created. additionally if binding.pry on test ran on can examine database , in fact there persisted object in database created rspec instead of using in memory object.
why behavior occurring , how should fix it?
update:
so appears if have dependency object relies on in memory activerecord object , object saved database, in memory object saved.
for example.
obj = objecttype.new(parameters) dependencyobject.create(relies_on: obj) the obj object persisted database first , dependencyobject saved.
so appears if have dependency object relies on in memory activerecord object , object saved database, in memory object saved.
for example.
obj = objecttype.new(parameters) dependencyobject.create(relies_on: obj) the obj object persisted database first , dependencyobject saved. can lead strange callback behavior if have callback on obj on after_create or called @ execution of save dependencyobject , save other object occur. can frustrating.
Comments
Post a Comment