Skip to main content
 首页 » 编程设计

ruby-on-rails之如何在现有的 Rails 引擎中生成虚拟应用程序

2025年01月19日11powertoolsteam

我最近来到一家公司工作,该公司一直在从事特定的 Rails 项目。在开发过程的中间,我开始回过头来为现有代码以及当前正在生成的代码编写测试。

测试 rails 4 应用程序很容易,但是一旦我开始测试引擎,我就遇到了心理障碍。尽职调查后,我发现大多数人都采用这样的方法 (http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl),但我在所有这些回复中看到的共同点是人们从头开始构建这些应用程序,因此生成了一个虚拟应用程序自动为他们。我没有能够从头开始生成所有内容的好处,并且必须使用我得到的东西,所以呢

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

请您参考如下方法:

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

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 版本的应用程序。