Ruby on rails 如何在现有rails引擎中生成虚拟应用程序

Ruby on rails 如何在现有rails引擎中生成虚拟应用程序,ruby-on-rails,ruby-on-rails-4,rspec,rails-engines,legacy-code,Ruby On Rails,Ruby On Rails 4,Rspec,Rails Engines,Legacy Code,我最近来到一家公司工作,这家公司在一个特定的rails项目上工作了一段时间。在开发过程的中间,我开始返回并为现有代码和当前正在生成的代码编写测试。 测试rails 4应用程序非常简单,但一旦开始测试引擎,我就遇到了心理障碍。在做了尽职调查之后,我发现大多数人都采取了这样的方法(),但我在所有这些回答中看到的共同点是,人们从头开始构建这些应用程序,因此自动生成了一个虚拟应用程序。我没有从零开始生成所有内容的好处,我必须处理我得到的东西,那又怎样 我想知道的是,是否有一种方法可以追溯生成虚拟应用程序

我最近来到一家公司工作,这家公司在一个特定的rails项目上工作了一段时间。在开发过程的中间,我开始返回并为现有代码和当前正在生成的代码编写测试。

测试rails 4应用程序非常简单,但一旦开始测试引擎,我就遇到了心理障碍。在做了尽职调查之后,我发现大多数人都采取了这样的方法(),但我在所有这些回答中看到的共同点是,人们从头开始构建这些应用程序,因此自动生成了一个虚拟应用程序。我没有从零开始生成所有内容的好处,我必须处理我得到的东西,那又怎样


我想知道的是,是否有一种方法可以追溯生成虚拟应用程序。是否有一些简单的东西可以输入控制台并为我生成?还是有一条更长,稍微不那么漂亮的路线?或者完全采用不同的策略会更好

假设虚拟应用程序除了一些模糊的名称外不应该绑定到父gem,那么可能会这样做:


此外,您可能有兴趣生成与rails版本完全相同的应用程序。

您可以放入
spec/dummy
任何应用程序,这只是引擎的装载点,只需生成
rails新测试应用程序
并将
test\u应用程序
复制到dummy文件夹。您为什么还需要虚拟应用程序?您不能使用主应用程序测试引擎吗?使用
\u version\u
作为
Rails
命令的第一个选项,指定Rails版本。例如,要使用Rails 5.0.1:
Rails\u 5.0.1\u插件新的\u引擎\u名称--mountable--dummy path=spec/dummy--skip test unit
cd some_path_where_your_engine_IS_NOT
rails plugin new YOUR_ENGINE_NAME --mountable --dummy-path=spec/dummy --skip-test-unit
mv YOUR_ENGINE_NAME/spec/dummy /real/path/to/YOUR_ENGINE_NAME/spec
rm -rf YOUR_ENGINE_NAME  # cleanup useless cruft