いくつかの操作に使用する統合テスト中にユーザーを作成しようとしています。:confirmable でデバイスを使用しています。コードは次のとおりです。
user = User.create({username: "user1", password: "pass1234", password_confirmation: "pass1234", email: "test@email.com"})
user.confirm!
fill_in "Username", :with => user.username
fill_in "Password", :with => user.password
click_button "Sign in"
問題は、ログインしようとするたびに失敗することです。ユーザーの作成にエラーはありませんが、何らかの理由で、ログインしようとするとユーザーが「そこにいる」ようには見えません。サインインしようとすると、「無効なユーザー名またはパスワード」が表示されます。これは、Capybara/Selenium webdriver がサインインを試行する前にデータベース操作が行われるのを適切に待機していない可能性があるという事実と関係があるようです。その場合、どうすればテストまたは修正できますか?
統合テスト中にデータベースに挿入しようとするのは「間違っている」のでしょうか?