我正在尝试为我正在编写的引擎宝石编写测试。我正在使用Rspec,测试似乎运行正常。但是每当一个视图使用来自另一个gem的帮助程序时,例如“will_paginate”或“ransack”,我就会收到“未定义的方法”错误。
我已经尝试将其他宝石包含在我的gem的Gemfile中(除了engine.gemspec文件)以及虚拟应用程序的Gemfile,但是我得到了同样的错误。我也尝试在spec / spec_helper.rb文件中包含gems。
所以我尝试了这里提到的大部分内容:
Setup RSpec to test a gem (not Rails)
通常,对于常规Rails应用程序的Rspec测试,这些帮助程序似乎只是包含一些,因为我没有这个问题为常规Rails应用程序运行测试。
我还需要在视图中命名我的url助手,例如: engine.resources_path
我不确定这是否是我搞砸的某些配置的症状。
当安装到另一个应用程序并在浏览器上查看时,引擎中的所有内容都可以正常运行。
有什么想法吗?
答案 0 :(得分:1)
事实证明,更好的方法是从宝石中删除方法,因为宝石应该测试自己的方法。如果我误解了什么,请告诉我。谢谢!