Domanda

Nella mia applicazione rotaie esiste un aiutante di controllo che è un modulo (non una classe), con molti metodi di supporto definiti in esso. Desidero casi di test di unità di scrittura per questo prima di fare il refactoring del codice di questo modulo in modo da garantire che la mia comprensione del sistema attuale è giusto e che non ho infranto alcuna funzionalità inavvertitamente. Stiamo utilizzando RSpec ed io vorremmo sapere come si potrebbe fare per la scrittura casi di test unità per i metodi di questo helper modulo?

È stato utile?

Soluzione

Si supponga di avere app/helpers/address_helper.rb:

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

È possibile scrivere spec spec/helpers/address_helper_spec.rb sotto:

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

chiave qui è il metodo helper, che consente di accedere a metodi di supporto, in questo esempio è:

helper.full_address(address)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top