Edited at

Devise 4.1.0 から本人確認メールの送信タイミングが変わった

More than 1 year has passed since last update.

ユーザー登録して、本人確認メール(confirmation instructions e-mail)が送信されるテストを書いていて。

これまではたしかに ActionMailer::Base.deliveries にメールが入っていたんだけど、Devise のバージョンを上げてから、テストがこけるようになったので調べた。


原因

原因は下記の Devise の CHANGELOG に書いているとおり。

要は、本人確認メールを送信するタイミングを変更したとのこと。

これによって、テストの設定を use_transactional_fixtures = true にしていたりとか、DatabaseCleaner を transaction strategy で利用していたりすると影響が出る。


対応