возможно ли сократить этот Rspec?Я хотел бы извлечь строку it { expect { author.destroy }.to_not raise_error }
, чтобы не повторять ее в каждом контексте.Совместно используемые примеры являются некоторым способом, но, наконец, он генерирует больше кода, чем ниже избыточной версии.
require 'rails_helper'
RSpec.describe Author, type: :model do
describe 'destroying' do
context 'when no books assigned' do
subject!(:author) { FactoryBot.create :author_with_no_books }
it { expect { author.destroy }.to_not raise_error }
# other examples
end
context 'when there are some books' do
subject!(:author) { FactoryBot.create :author_with_books }
it { expect { author.destroy }.to_not raise_error }
# other examples
end
context 'when there are some posts' do
subject!(:author) { FactoryBot.create :author_with_posts }
it { expect { author.destroy }.to_not raise_error }
# other examples
end
end
end