2010-11-25 86 views
2

在我的Rails應用程序中存在一個控制器幫助器,它是一個模塊(不是類),其中定義了很多幫助器方法。我希望在編寫這個模塊的代碼重構之前編寫單元測試用例,以確保我對當前系統的理解是正確的,並且我沒有打破任何功能。我們正在使用RSpec,我希望知道如何爲這個幫助器模塊的方法編寫單元測試用例?單元測試Rails應用程序的控制器的幫助模塊 - 如何?

回答

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) 
+0

謝謝,它確實有效。 – karthiks 2011-02-05 08:46:06

相關問題