Ruby on rails FactoryGirl属于协会';的唯一性验证失败

Ruby on rails FactoryGirl属于协会';的唯一性验证失败,ruby-on-rails,ruby-on-rails-4,factory-bot,Ruby On Rails,Ruby On Rails 4,Factory Bot,创建列表(:post,3)导致唯一性验证失败 我的工厂属于Post和Author之间的关联: factory :post do author end factory :author do sequence(:internal_ref) { |n| n } end Author模型在internal\u ref上具有唯一性验证 更新 在下面建议清理数据库的评论之后,我尝试从一个全新的测试数据库开始,如下所示: rake db:drop rake db:create rake db:sc

创建列表(:post,3)
导致唯一性验证失败

我的工厂属于Post和Author之间的关联:

factory :post do
  author
end

factory :author do
  sequence(:internal_ref) { |n| n }
end
Author
模型在
internal\u ref
上具有唯一性验证

更新

在下面建议清理数据库的评论之后,我尝试从一个全新的测试数据库开始,如下所示:

rake db:drop
rake db:create
rake db:schema:load
rake # to create test db and run the tests
并使用
数据库\u cleaner\u gem
,如spec\u helper中所示:

config.before(:suite) do
  DatabaseCleaner.strategy = :transaction
  DatabaseCleaner.clean_with(:truncation)
end

结束这个问题。看起来该套件正在seeds.rb中创建作者记录列表,并在运行测试套件之前加载seeds.rb。

我也遇到了同样的问题。我很想听听其他人的想法,但在我调整Rspec.config数据库清理器设置后,我的想法就消失了。提出了一个解决方案,“原因”在评论中:@steel我尝试使用一个全新的数据库和数据库清理器gem,但没有得到相同的结果