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!