Welche Testwerkzeuge und Methoden hat Corey Haines auf der GoGaRuCo 2011 verwendet?

7

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:

  • Fügen Sie soviel Code wie möglich außerhalb der Rails-App in andere Module und Klassen ein
  • Testen Sie diese separat, ohne den Aufwand des Ladens von Rails
  • Benutze sie in deiner Rails App

Es gab jedoch ein paar Dinge, die ich nicht verstand.

  • Er wechselt zwischen laufenden Tests mit rspec und spn oder spna (zum Beispiel um 3:50). Ist spn ein allgemein bekanntes Werkzeug?
  • In seinen Tests für Nicht-Rails-Klassen und -Module fügt er das Modul oder die Klasse ein, die getestet wird, aber ich sehe nicht, dass er etwas wie spec_helper enthält. Wie hat er Rspec verfügbar?
Nathan Long 23.05.2012, 19:54
quelle

1 Antwort

19

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:

%Vor%

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.

    
coreyhaines 23.05.2012, 20:50
quelle

Tags und Links