Die Kassetten des VCR dienen als Fixpunkt für Ihre Tests. Sie müssen sie in das Repository übertragen, sonst werden Ihre Tests auf den Rechnern anderer nicht korrekt ausgeführt oder korrigieren nur dort, wo eine starke externe Abhängigkeit besteht, was eine Verletzung des Testprinzips darstellt.
Natürlich müssen Sie Ihre Anmeldeinformationen aus dem öffentlichen oder Team ausblenden, während Sie die oben genannten beibehalten.
Die Lösung ist filter_senstive_data
Einstellungen und Figaro gem.
Zunächst kann This answer from Myron in a similar question Ihr Problem weitgehend lösen.
Zur Einrichtung VCR
VCR.configure do |c|
c.filter_sensitive_data("<SOMESITE_PASSWORD>") do
ENV['SOMESITE_PASSWORD']
end
end
Der obige Code-Block von Myron Antwort kopiert, weil ich später mehr hinzufügen möchten
Weitere Informationen zu dieser Einstellung überprüfen Sie die doc https://relishapp.com/vcr/vcr/v/2-5-0/docs/configuration/filter-sensitive-data
Jetzt, für ENV['SOMESITE_PASSWORD']
, kann es echte Anmeldeinformationen sein, indem Sie Figaro gem verwenden.
Installation von Figaro erstellt eine Datei config/application.yml
und fügt sie zu .gitignore
hinzu. Sie können also einfach Ihren Benutzernamen und Ihr Passwort eingeben, ohne Gefahr zu laufen, dass Sie öffentlich werden.
FWIW, der Autor von VCR Commits Kassetten: https://twitter.com/myronmarston/status/199887944570503168. Es gibt einen Post von ihm, wo er genauer ins Detail geht, aber ich kann es nicht finden. – Dennis