我已经发布了我的第一个rails gem但尚未包含任何测试。这个gem只是一个简单的帮助器,我想用rspec测试。但是我不知道如何使用rspec在gem中测试帮助器。
我尝试创建文件spec / helper / development_ribbon_helper_spec.rb:
require 'spec_helper'
describe DevelopmentRibbonHelper do
end
但是当我执行rspec时,我收到了这个错误:
development_ribbon_helper_spec.rb:3:in `<top (required)>': uninitialized constant DevelopmentRibbonHelper (NameError)
您可以在github上找到完整的源代码。
答案 0 :(得分:2)
看起来您可能正在尝试编写rails引擎gem,对吗?由于您的帮助文件位于lib /之外,因此您的spec_helper需要知道如何加载rails引擎。
执行此操作的一种方法是在spec /目录中创建虚拟rails应用程序。此帖子中详细介绍了此设置:http://reinteractive.net/posts/2-start-your-engines。
或者,您可以将帮助文件移动到lib / development_ribbon并在development_ribbon.rb文件中将其命令:
require "development_ribbon/development_ribbon_helper"
然后,在使用gem的rails应用程序中,您可以在application_helper.rb中包含帮助程序
module ApplicationHelper
include DevelopmentRibbon::DevelopmentRibbonHelper
end