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

Popular posts from this blog

1111. appearing after print sequence - php -

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

Ruby on Rails, ActiveRecord, Postgres, UTF-8 and ASCII-8BIT encodings -