每当我运行用户测试时,RSpec 会在测试完成后将 Fabricated 用户留在测试数据库中,这会扰乱我的其他测试。我会做一个rake db:test:prepare
,但是当我再次运行我的测试时,记录会在我的数据库中重新创建。我不知道为什么会这样。它只发生在用户对象上。
在我的 spec_helper 文件中,我什至有:
config.use_transactional_fixtures = true
这是一个创建记录的示例测试:
it "creates a password reset token for the user" do
alice = Fabricate(:user)
post :create, email: alice.email
expect(assigns(alice.password_reset_token)).to_not eq(nil)
end
制造商:
Fabricator(:user) do
email { Faker::Internet.email }
password 'password'
name { Faker::Name.name }
end
这可能与我的用户模型有关吗?