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

pap*_*cek 7 rspec rails-engines capybara ruby-on-rails-3.1

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

wes*_*ter 2

我认为这是一个有趣的问题,但我的观点是 Rails Engines 应该被视为独立的代码库,因此不在您的父应用程序中进行测试。其效果是,您在父应用程序中对待 Rails 引擎就像对待其他 gem(EG,devise,实际上是 Rails 引擎)。

但假设您的父应用程序功能依赖于 Rails Engine 功能。在这种情况下,我会编写一个测试来表明我的父应用程序的功能可以与 Rails 引擎结合使用。我不会编写测试来确保 Rails 引擎按预期工作,因为这些测试属于 Rails 引擎代码库,而不是父应用程序。

我意识到,当您同时开发父应用程序和 Rails 引擎时,这种方法并不完全适用于实际工作场景。