Transactional fixtures in rspec prevent after_commit from being called, but even when I disable them with
RSpec.configure do |config| config.use_transactional_
If you're using database_cleaner you'll still run into this. I'm using the test_after_commit gem, and that seems to do the trick for me.