在权威策略上运行Rspec测试,每次测试后不清理数据

在权威策略上运行Rspec测试,每次测试后不清理数据,rspec,ruby-on-rails-5,pundit,Rspec,Ruby On Rails 5,Pundit,Rails 5.2 Rspec 3.7 Pundit 1.10 以下针对我的策略的Rspec测试失败,并出现错误: 规范/政策/校对员/仪表板 describe Proofreader::DashboardPolicy do subject { described_class } context 'accessing the proofreader dashboard' do permissions :index? do it "denies access to

Rails 5.2 Rspec 3.7 Pundit 1.10

以下针对我的策略的Rspec测试失败,并出现错误:

规范/政策/校对员/仪表板

describe Proofreader::DashboardPolicy do
  subject { described_class }

  context 'accessing the proofreader dashboard' do

    permissions :index? do

      it "denies access to admins" do
        expect(subject).not_to permit(FactoryBot.create(:admin))
      end

    end
  end
end




Error:      ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
当数据库干净时,此测试第一次通过,但随后失败

我的用户工厂使用序列,因此电子邮件不同:

FactoryBot.define do
  factory :user, aliases: [:client] do
    sequence(:email) { |n| "tester#{n}@example.com" }
    password 123456
    password_confirmation 123456

    factory :admin do
      after(:build) {|user| user.admin = true }
    end

    factory :proofreader do
      after(:build) {|user| user.proofreader = true }
    end

    factory :admin_proofreader do
      after(:build) {|user| user.admin = true && user.proofreader = true}
    end

  end
end

为什么我会遇到这个错误?我该如何解决它?

有没有想过?