2
在我的Rails應用程序中存在一個控制器幫助器,它是一個模塊(不是類),其中定義了很多幫助器方法。我希望在編寫這個模塊的代碼重構之前編寫單元測試用例,以確保我對當前系統的理解是正確的,並且我沒有打破任何功能。我們正在使用RSpec,我希望知道如何爲這個幫助器模塊的方法編寫單元測試用例?單元測試Rails應用程序的控制器的幫助模塊 - 如何?
在我的Rails應用程序中存在一個控制器幫助器,它是一個模塊(不是類),其中定義了很多幫助器方法。我希望在編寫這個模塊的代碼重構之前編寫單元測試用例,以確保我對當前系統的理解是正確的,並且我沒有打破任何功能。我們正在使用RSpec,我希望知道如何爲這個幫助器模塊的方法編寫單元測試用例?單元測試Rails應用程序的控制器的幫助模塊 - 如何?
假設你有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)
謝謝,它確實有效。 – karthiks 2011-02-05 08:46:06