Unit testing Rails aiutante di controllo delle applicazioni Module - Come?
-
28-09-2019 - |
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?
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)