我创建了一个包含安装生成器的 simpe gem,生成器工作正常,但现在我想使用 rspec 测试它,我发现了这个 gem ,并尝试测试我的生成器,我的规范代码是:
require 'genspec'
require 'rosalie'
describe :install_generator do
it "should generate model" do
subject.should generate("message.rb")
end
end
rosalie 是 may gem 的名字,现在当我运行它时出现错误:
/stuff/work/my_projects/rosalie/lib/rosalie/engine.rb:2:in `': 未初始化的常量 Rosalie::Rails (NameError)
我的 engine.rb 代码是:
module Rosalie
class Engine < Rails::Engine
initializer "rosalie.models.messageable" do
ActiveSupport.on_load(:active_record) do
include Rosalie::Models::Messageable
end
end
end
end
有人可以帮我解决这个问题吗?
最佳答案
您必须先加载代码,然后再将其包含在某处。
要求或自动加载您的主文件。
Here is an example from my gem.
关于ruby-on-rails - 使用 rspec 测试 Rails 引擎生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433293/