相关疑难解决方法(0)

从其父应用程序运行rails引擎的规范

我有用于父应用程序的rspec套件,以及附加引擎的一些规范.我想要的是用一个命令运行它们.有没有办法将我的gems路径包含到rspec加载路径中?或者我应该为此写rake任务?

rspec rails-engines capybara ruby-on-rails-3.1

7
推荐指数
1
解决办法
526
查看次数

如何使用RSpec针对真实应用开发Rails3引擎?

关于引擎开发和使用虚拟应用程序进行测试已经写了很多.

在我们的例子中,我们正在开发一个不是独立实体的引擎,但它依赖于真正的Rails 3应用程序.我们仍然希望此代码存在于引擎中,而不是成为应用程序的一部分,因为引擎的工作是从具有自己的表和模型映射的遗留系统导入数据,并且我们希望最终再次删除它.

旧遗留表和新模式之间的数据映射很复杂,我们希望TDD(使用rspec)引擎.

  • 我跟随了Jose Valim的书"Crafting Rails Appliations "并使用了enginex gem.
  • /spec/dummy_app用一个指向真正的Rails 3应用程序的git子模块替换了.
  • 我无法从引擎加载模型(未定义的符号错误),因为真正的应用程序的Gemfile没有指向引擎,我也无法修改config/application.rb,需要引擎(这是虚拟应用程序所做的) ,如本书第15-16页所述.
  • 我将引擎的lib文件夹包含在加载路径$:spec_helper,路径可用.
  • requirespec_helper.rb并没有解决问题.
  • 我想知道是否有内部Rails API(或聪明的猴子补丁)挂钩到真实应用程序的启动序列并需要引擎,而不必修改真实应用程序的代码(因为它在子模块中).
  • 另一个我不完全确定的问题是我有2个Gemfiles(一个在引擎中,一个在应用程序中),当引擎处于活动状态时,它们都应该被使用.

思考?

rspec rails-engines ruby-on-rails-3

4
推荐指数
1
解决办法
917
查看次数