ruby-on-rails - 使用 rspec 测试 Rails 引擎生成器

标签 ruby-on-rails rspec rubygems

我创建了一个包含安装生成器的 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/

相关文章:

ruby-on-rails - factory_girl 忽略它正在创建实例的类的命名空间

ruby-on-rails - 如何使用 Rails 在 PostgreSQL 中创建日期范围

ruby-on-rails - 我应该在哪里放置 RSpec 测试的种子数据?

ruby - ActiveModel::SecurePassword:Module 的未定义方法 `min_cost'

ruby-on-rails - 我如何找出哪个版本的游戏适合哪个版本的 ruby​​ 和 rails?

ruby-on-rails - force_ssl 在 Rails 中有什么作用?

ruby-on-rails - ActiveJob :at key 是什么格式

ruby-on-rails - BDD with Cucumber 和 rspec - 什么时候这是多余的?

ruby - 将参数传递给 Rspec SpecTask

ruby - 我想覆盖设计 gem 的 authenticate_user 和 current_user 方法