2

私のレールアプリケーションには、多くのヘルパーメソッドが定義されたモジュール(クラスではない)であるコントローラーヘルパーが存在します。このモジュールのコード リファクタリングを行う前に、ユニット テスト ケースを作成して、現在のシステムに対する私の理解が正しいこと、および誤って機能を壊していないことを確認したいと考えています。私たちは RSpec を使用していますが、このヘルパー モジュールのメソッドの単体テスト ケースを作成する方法を教えてください。

4

1 に答える 1

3

あなたが持っていると仮定しますapp/helpers/address_helper.rb

module AddressHelper
  def full_address(address)
    "#{address.street} #{address.house_number}/#{address.local_number}"
  end
end

あなたは下にスペックを書くことができますspec/helpers/address_helper_spec.rb

require 'spec/spec_helper' #or something similar, in order to load spec helper

describe AddressHelper do
  describe "#full_address" do
    it "displays the street, local and house number" do
      address = stub('Address', :street => 'Mountain View', :house_number => '7', :local_number => '44')
      helper.full_address(address).should eql('Mountain View 7/44')
    end 
  end
end

ここで重要なのはhelperメソッドです。これにより、ヘルパーメソッドにアクセスできます。この例では、次のようになります。

helper.full_address(address)
于 2010-11-25T20:51:01.883 に答える