In diesem Video von GoGaRuCo 2011 zeigt Corey Haines einige Techniken, um Rails-Testsuiten viel schneller zu machen. Ich würde es wie folgt zusammenfassen:
Es gab jedoch ein paar Dinge, die ich nicht verstand.
rspec
und spn
oder spna
(zum Beispiel um 3:50). Ist spn
ein allgemein bekanntes Werkzeug? spec_helper
enthält. Wie hat er Rspec verfügbar? Tut mir leid wegen der Verwirrung. spn
und spna
sind Aliase, die meinen Nicht-Rails-Code zum Lastpfad von rspec hinzufügen. Es gibt nichts Besonderes an ihnen außer dem Hinzufügen von -I path_to_code
in der Befehlszeile.
Heute füge ich etwas zu meiner .rspec
-Datei hinzu:
Dann kann ich einfach require 'object_name'
oben in meinen Spezifikationen tun.
Wenn spec_helper
nicht eingeschlossen ist: Das stimmt nicht. Wenn Sie Ihre Spezifikationsdatei mit rspec <path_to_spec_file>
ausführen, wird sie interpretiert, sodass Sie rspec
nicht explizit benötigen müssen.
Heute habe ich für meine db specs ein active_record_spec_helper
erstellt, das active_record erfordert, eine Verbindung zur Testdatenbank herstellt und database_cleaner
; Dadurch kann ich mein Modell einfach oben in meiner Spezifikationsdatei anfordern. Auf diese Weise kann ich den AR-Code gegen die db testen, ohne meine gesamte App laden zu müssen.
Ein Client ich arbeite, wo wir diese Techniken verwenden interessiert einige Blog-Posts über diese unterstützen, so hoffentlich werden sie kommen aus in Richtung Mitte Juni beginnen.
Tags und Links ruby ruby-on-rails testing