我们有两个共享相同数据库和模型的Web应用程序。为了保持DRY,我们创建了一个包含所有模型的引擎。此引擎通过Gemfile包含在相应的应用程序中。我们确实在引擎内部进行了RSpec和FactoryGirl的测试。
现在我们正在尝试编写集成测试,我们希望使用引擎中的工厂而无需复制或符号链接。有没有办法以编程方式实现这一目标?
答案 0 :(得分:12)
好的,这样可行: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"]
然后,这些工厂将在包含您的引擎的应用程序中提供。