在权威策略上运行Rspec测试,每次测试后不清理数据
Rails 5.2 Rspec 3.7 Pundit 1.10 以下针对我的策略的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
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
为什么我会遇到这个错误?我该如何解决它?有没有想过?