我们有两个共享相同数据库和模型的 Web 应用程序。为了保持干燥,我们创建了一个包含所有这些模型的引擎。该引擎通过 Gemfile 包含在相应的应用程序中。我们确实在引擎内部对 RSpec 和 FactoryGirl 进行了测试。
现在我们正在尝试编写集成测试,我们希望使用引擎中的工厂而不需要复制或符号链接(symbolic link)。有没有办法以编程方式实现这一目标?
最佳答案
好的,这样就可以了: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"]
然后这些工厂将在包含您的引擎的应用程序中可用。
关于ruby-on-rails - 如何从引擎中使用 FactoryGirl 工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20261585/