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

问题描述 投票:23回答:1

我最近为一家公司工作,该公司一直致力于特定的铁路项目。在开发过程的中间,我开始回去为现有代码以及当前正在生成的代码编写测试。

测试rails 4 app非常简单,但是一旦我开始测试引擎,我就会遇到心理障碍。在做了尽职调查之后,我发现大多数人采取这样的方法(http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl),但我在所有这些响应中看到的共同点是人们从头开始构建这些应用程序,因此为他们生成了一个虚拟应用程序自动。我没有从头开始生成所有东西的好处,并且必须使用我给出的东西,那么什么

我想知道是否有办法追溯生成虚拟应用程序。有什么简单的东西我可以在控制台中输入并为我生成它吗?还是有更长,稍微不那么漂亮的路线?或者一个不同的策略会更好吗?

ruby-on-rails ruby-on-rails-4 rspec rails-engines legacy-code
1个回答
35
投票

鉴于虚拟应用程序不应该绑定到父级gem,除了一些模糊的名称,这可能会这样做:

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

此外,您可能对this answer感兴趣,以使用完全相同的rails版本生成应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.