每当我运行用户测试时,RSpec在测试完成后将Fabricated用户留在测试数据库中,这会弄乱我的其他测试.我会做一个rake db:test:prepare,但是当我再次运行我的测试时,记录会在我的数据库中重新创建.我不知道为什么会这样.它只发生在用户对象上.
在我的spec_helper文件中,我甚至有:
config.use_transactional_fixtures = true
Run Code Online (Sandbox Code Playgroud)
以下是创建记录的示例测试:
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
Run Code Online (Sandbox Code Playgroud)
制造商:
Fabricator(:user) do
email { Faker::Internet.email }
password 'password'
name { Faker::Name.name }
end
Run Code Online (Sandbox Code Playgroud)
这可能与我的用户模型有关吗?