1

我正在尝试为我正在编写的引擎 gem 编写测试。我正在使用 Rspec,测试似乎运行良好。但是,每当视图使用来自另一个 gem 的助手时,例如“will_paginate”或“ransack”,我都会收到“未定义的方法”错误。

我尝试在我的 gem 的 Gemfile(除了 engine.gemspec 文件)以及虚拟应用程序的 Gemfile 中包含其他 gem,但我得到了同样的错误。我还尝试在 spec/spec_helper.rb 文件中包含 gem。

所以我已经尝试了这里提到的大部分内容:

设置 RSpec 来测试 gem(不是 Rails)

通常,对于常规 Rails 应用程序的 Rspec 测试,这些帮助程序似乎只是包含一些方法,因为我在运行常规 Rails 应用程序的测试时没有这个问题。

我还需要在视图中命名我的 url 助手,例如:engine.resources_path

我不确定这是否是我搞砸了某些配置的症状。

当安装到另一个应用程序并在浏览器上查看时,引擎中的所有内容都运行良好。

有任何想法吗?

4

1 回答 1

1

事实证明,更好的方法是从 gem 中提取方法,因为 gem 无论如何都应该测试自己的方法。如果我有什么误解,请告诉我。谢谢!

于 2012-10-03T22:02:34.540 回答