2016-06-20 6 views
0

Ich habe einen Dienst, der einen anderen FTP-Dienst aufruft, der eine Datei vom ftp-Server abruft und in einer Instanzvariablen speichert.Wie stubst man eine Instanzvariable in Service Initialize?

Jetzt beim Testen des Dienstes möchte ich nicht den FTP-Dienst treffen, stattdessen möchte ich die Datei von Fixtures auswählen.

Also, wie kann ich die Instanzvariable stub, um die Datei von Fixtures auszuwählen?

Ich versuchte unten vor jeder Methode in Rspec Testfall, der nicht funktioniert hat.

def set_scheme_details_file_path 
    raw_file_path = '/spec/fixtures/backoffice_test_data/currentnav.ace' 
    @scheme_details_file_path = File.join(Rails.root, raw_file_path) 
    end 

Dienst initialisieren Code, den FTP-Dienst ruft Datei-Objekt zu erhalten:

class ImportServices::ImportSchemeDetail < BackOffice::ImportServices::Import 
    def initialize(*args) 
     @scheme_details_file_path = BackOffice::Util::Ftp.call(args[0]) 
     @scheme_details_set = [] 
     @result = {} 
     @all_schemes = Scheme.generate_scheme_code_id_map 
    end 

Jede Hilfe oder einen Vorschlag wird hilfreich sein. Danke!

Antwort

Verwandte Themen