Да, это возможно, см. Этот пост: https://thoughtbot.com/blog/testing-your-factories-first. Подход заключается в создании factories_spec
и последующем добавлении его в качестве предварительного условия к rake file
.
(1) Создайте файл спецификации фабрики:
# spec/factories_spec.rb
FactoryBot.factories.map(&:name).each do |factory_name|
describe "The #{factory_name} factory" do
it 'is valid' do
expect(build(factory_name)).to be_valid
end
end
end
(2) Чтобы добавить предварительное условие к спецификации рейка:
# Rakefile
if defined?(RSpec)
desc 'Run factory specs.'
RSpec::Core::RakeTask.new(:factory_specs) do |t|
t.pattern = './spec/factories_spec.rb'
end
end
task spec: :factory_specs
(3) Запустите тест с
rake spec