gpt4 book ai didi

ruby-on-rails - 如何在 Rails 引擎的 rspec 测试中从父应用程序访问模型?

转载 作者:行者123 更新时间:2023-12-04 06:15:21 24 4
gpt4 key购买 nike

我有一个 rails 应用程序,里面有一个可安装的引擎。我目前正在为可安装引擎设置 rspec 测试。这些需要从父应用程序访问模型和助手。我知道这里有一些耦合,但这不是可重用的组件,并且引擎用于提供与父应用程序分开的其他功能。

我可以在从 rails new plugin 创建的虚拟应用程序中运行这些测试。命令,但这无权访问父应用程序模型。

如何配置我的规范助手,以便它从父应用程序加载模型和配置设置? 理想情况下,这将包括父应用程序 spec_helper.rb 中的任何配置。 .

我相信我应该能够使用我的父应用程序而不是虚拟应用程序,但到目前为止还没有成功。我被迫将父应用程序中的所有 gem 包含到我引擎的 Gemfile 中并有 NameError s 用于在尝试运行我的规范时父应用程序内的其他已安装引擎。

最佳答案

我们像这样从 child 的 spec_helper 中加载父 spec_helper:

path = Gem.loaded_specs.select {|k,_| k == 'parent-gem-name'}
.first.last.full_gem_path
file = File.join(path, 'spec', 'spec_helper.rb')
instance_eval File.read(file), __FILE__, __LINE_

关于ruby-on-rails - 如何在 Rails 引擎的 rspec 测试中从父应用程序访问模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21145423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com