我正在尝试在集成测试期间创建一个用户以用于某些操作。我正在使用带有 :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 在尝试登录之前没有正确等待数据库操作发生的事实有关。如果是这种情况,我该如何测试或修复它?
在集成测试期间尝试插入数据库是否“错误”?