2

私はすでに最初のrailsgemを公開しましたが、テストはまだ含まれていません。この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にあります。

4

1 に答える 1

2

Railsエンジンの宝石を書こうとしているようですね。ヘルパーファイルはlib/の外部にあるため、spec_helperはrailsエンジンをロードする方法を知っている必要があります。

これを行う1つの方法は、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
于 2012-09-21T23:40:26.303 に答える