Was ist der beste Weg, eine Rails App zu testen?

8

Ich bin neu beim Testen in Rails. Ich habe mich entschieden, Test Driven Development zu lernen, und daher erforsche ich, wie man in Schienen vorgeht.

Ich habe mit Test :: Unit angefangen und bald erfahren, dass bessere Tools und Test-Frameworks verfügbar sind. Dinge, von denen ich gehört habe, sind

  1. Shoulda
  2. Mokka
  3. Rspec
  4. Gurke
  5. Fabrikmädchen

Jetzt bin ich sehr verwirrt darüber, wie ich weitermachen soll. Was ist die beste Kombination dieser Tools, die ich lernen muss? Wo finde ich auch Ressourcen, um diese zu lernen?

Ich baue die App in Rails 3.0

    
Avinasha Shastry 07.01.2011, 04:52
quelle

3 Antworten

1

Persönlich benutze ich Cucumber, RSpec und Factory Girl in meinen Anwendungen. Was eine Ressource betrifft, schreibe ich ein Buch namens Rails 3 in Action , das diese Tools (und natürlich auch Rails selbst) durchläuft. um eine Anwendung zu entwickeln.

    
Ryan Bigg 07.01.2011, 05:06
quelle
17
  

Was ist der beste Weg, um eine Rails App zu testen?

Testen Sie zuerst.

Im Ernst, Sie haben eine Reihe von verschiedenen Tools aufgelistet, die verschiedene Dinge tun können.

  • Shoulda ist ein Test-Framework zum Ausführen von Tests und eine Reihe von Matcher und Assertions zum Schreiben von Tests.
  • Mocha ist eine spöttische und hartnäckige Bibliothek.
  • Rspec ist ein Test-Framework, das Tools und Matching-Tools enthält.
  • Gurke ist ein Rahmen für das Schreiben von Funktionstests.
  • Factory Girl ist ein Framework zum Erstellen der Domänenobjekte, die Sie in Ihren Tests verwenden.

Davon können entweder Shoulda oder Rspec die Test :: Unit ersetzen, während die anderen Werkzeuge für verschiedene Testbereiche bereitstellen. Welches du benötigst, hängt davon ab, was deiner Meinung nach das Schreiben von Tests einfacher und effektiver macht.

Für jemanden, der an Test :: Unit-Unit-Tests gewöhnt ist und daran interessiert ist, zusätzliche Tools zu lernen, würde ich Folgendes vorschlagen:

Wenn Sie ein bestehendes Projekt mit Test :: Unit verwenden, sollten Sie Mocha's Mocking und Stubbing hinzufügen und sehen, ob Sie dadurch fokussiertere Unit Tests leichter schreiben können. Wenn Sie bereits über Fixtures verfügen, sollten Sie Factory Girl zum Generieren von Factories verwenden, während Sie neue Model-Objekte hinzufügen, und sehen Sie, ob Ihre Tests einfacher zu verwalten und zu warten sind. Wenn Sie über eine Reihe fester Komponententests verfügen, sollten Sie Cucumber bereits verwenden, um funktionale Tests auf höherer Ebene zu schreiben, damit Sie in Tests Nutzergeschichten erfassen und Ihre App Ende für Schritt testen können.

Wenn Sie ein neues Projekt starten, beginnen Sie mit Rspec und Factory Girl. Rspec wird Sie in eine ganz andere Art des Testens einführen als Test :: Unit, aber Sie werden immer noch ziemlich vertraute Komponententests schreiben und es bietet Stubs, Mocks und Matcher, die Sie in Tests ohne eine Explosion von zu vielen neuen tauchen lassen Edelsteine ​​in Ihrem Projekt. Factory Girl bietet Ihnen eine bequeme Möglichkeit zum Erstellen von Domänenobjekten, wenn Ihre Tests dies erfordern. Zwischen diesen beiden Punkten sollten Sie in der Lage sein, eine Menge neuer Testtricks zu erlernen, während Sie immer noch mit Ihrem üblichen Unit-Test-Workflow arbeiten.

    
Jonah 07.01.2011 05:28
quelle
3

Hast du das Michael Hartl's RoR 3 Tutorial überprüft?

Ruby on Rails 3 Tutorial von Michael Hartl

Er hat ein gutes Rails 3-Tutorial mit einigen grundlegenden Anwendungen von RSpec und Factory Girl integriert.

    
bitwelder 11.01.2011 08:25
quelle