Как использовать фабрики FactoryGirl из двигателя

У нас есть два веб-приложения, которые используют одну и ту же базу данных и модели. Чтобы сохранить DRY, мы создали движок, содержащий все эти модели. Этот движок включен в соответствующие приложения через Gemfile. У нас есть тесты с RSpec и FactoryGirl внутри двигателя.

Теперь мы пытаемся написать интеграционные тесты, и мы хотели бы использовать фабрики из движка без копирования или символической привязки. Есть ли способ достичь этого программно?

Ответ 1

Итак, это работает: https://github.com/thoughtbot/factory_girl_rails/pull/42

Как говорится в этом запросе на pull, включите этот фрагмент кода в ваш основной движок.

В главном движке вам также необходимо изменить файл ".gemspec" для добавления в файлы "spec/factories":

s.files = Dir["{app,config,db,lib}/**/*", "spec/factories/**/*", "LICENSE", "Rakefile", "README.md"]

Затем эти заводы будут доступны в приложении, которое включает ваш движок.