We’re migrating a Rails 2.3.x application to Rails 3 and RSpec 2.x.
In Rails 2.3.x we were using https://github.com/freelancing-god/after_commit to provide
after_commit functionality (now provided by Rails 3).
The plugin version of after_commit came with some helpers to make
testing with use_transactional_fixtures = true work.
“Keep in mind that transactions are finicky at best in tests, and so
there’s a helper module to make after_commit play nicely in your
testing context. You’ll need to add these two lines to your spec/test
helper:”
We’re just running into it now, but we’re using after_commit in Rails 3
for
the first time. The callback appears not to fire in our specs – I
noticed
your posting but have not had luck getting the gem to load. Bundler
1.0.7
requires the gem, and it generates this:
/Users/kurtsnyder/.rvm/gems/[email protected]/gems/after_commit-1.0.7/lib/after_commit/active_record.rb:15:in include_after_commit_extensions': undefined methodsubclasses_of’ for
Object:Class (NoMethodError)
from
/Users/kurtsnyder/.rvm/gems/[email protected]/gems/after_commit-1.0.7/lib/after_commit.rb:81
Did you add these two lines to your spec_helper.rb file or somewhere
else?
I’d be interested in helping to get this to work, but not sure where to
start as we’re new to after_commit.
after_commit is built-in to Rails 3, so you don’t need the gem. Rails
3 does not include any type of AfterSavepoint helper for running with
transactional fixtures turned on. That is the piece that needs to be
ported over to Rails 3.
I’d be interested in helping to get this to work, but not sure where to
start as we’re new to after_commit.
after_commit is built-in to Rails 3, so you don’t need the gem. Rails
3 does not include any type of AfterSavepoint helper for running with
transactional fixtures turned on. That is the piece that needs to be
ported over to Rails 3.
Best,
Michael G.
Hi guys,
Just wanted to let you know that I had the same problem and ended up
writing a monkey-patch for it: