如何从引擎中使用FactoryGirl工厂

我们有两个共享相同数据库和模型的Web应用程序。 为了保持DRY,我们创建了一个包含所有模型的引擎。 此引擎通过Gemfile包含在相应的应用程序中。 我们确实在引擎内部使用RSpec和FactoryGirl进行了测试。

现在我们正在尝试编写集成测试,我们希望使用引擎中的工厂而无需复制或符号链接。 有没有办法以编程方式实现这一目标?

好的,这样可行: https : //github.com/thoughtbot/factory_girl_rails/pull/42

正如它在拉取请求中所说,在您的核心引擎中包含该代码段。

在核心引擎中,您还需要修改“.gemspec”文件以添加到“spec / factories”文件中:

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

然后,这些工厂将在包含您的引擎的应用程序中提供。