Ich fange gerade an, BDD in Rails-Anwendung zu verwenden, aber ich bin nicht sicher, was Best Practices und Workflows sind? Und welche anderen Dinge, die ich wirklich zum Testen für mein Projekt benötige, wie Schrittdefinitionen, Controller, Modelle und Ansichten? Muss ich all diese testen?Wie entwickelst du die Outside-in Rails App mit Gurke & RSpec?
Antwort
Ich denke generell an Gurke als eine Möglichkeit, Integrationstests für Ihre Anwendung durchzuführen. In Kombination mit Webrat können Sie Benutzerworkflows, Ansichten usw. auf großartige Weise testen. Bei Komponententests sollten Sie auf eine niedrigere Stufe gehen und Ihre Modelle nur mit rspec testen. Vielleicht möchten Sie auch einige Funktionstests auf den Controllern durchführen, und ich würde wahrscheinlich auch nicht Cucumber dafür verwenden.
Hier sind ein paar Videos:
Diese Geschmackssache sein, aber Rspec bevorzuge ausprobiert habe ich die eingebauten in Rails Tests mit Rahmen zusammen mit einem Edelstein namens Shoulda. Meiner Meinung nach können Sie mit dieser Kombination viel klarere, prägnantere und verständlichere Tests als mit Rspec schreiben. Aber nicht alle würden zustimmen.
der Shoulda Kontexten können Sie Ihre Tests in logische Hierarchien organisieren, die wirklich hilft, wenn Sie versuchen, alle möglichen Pfade einige verrückt zu testen, Verzweigung Situation, wie Benutzer anmeldet mit Recht pw, falsch pw, rechts pw aber Registrierung nicht bestätigt, etc.
Darüber hinaus sicher sein, die ZenTest gem installieren. Damit können Sie einfach den Befehl $ autotest
ausführen und Ihre Tests werden automatisch jedes Mal ausgeführt, wenn Sie eine Datei ändern.
Ryan Bates hat einige gute Railscasts zu diesen Themen:
- 1. RSpec vs Gurke (RSpec stories)
- 2. Rspec Integrationstests ohne Gurke?
- 3. Gurke und/oder RSpec mit reiner Java-Anwendung mit JRuby
- 4. BDD mit Gurke und rspec - wann ist das redundant?
- 5. Mit Gurke oder RSpec + Selenium Endbenutzerdokumentation erstellen?
- 6. Gurke und benutzerdefinierte RSpec Matcher
- 7. Unterschied zwischen Rspec, Capybara und Gurke
- 8. Rails: Wie Subdomains mit RSpec
- 9. Testen Middleware mit Rspec
- 10. Ruby on Rails App Testing mit Rspec und Capybara
- 11. Autospec mit Gurke in Schienen App
- 12. Rails: Sqlite3 bezogener Fehler, wenn Gurke Lauf
- 13. ActiveRecord Objekte erstellt in Gurke nicht in Rails Web App
- 14. Rspec Optionen für die Prüfung Schienen App
- 15. Rails API rspec Tests
- 16. Rspec Authorization in Rails
- 17. Rails rspec Subdomain
- 18. Was tut die Zuweisung in rspec-rails?
- 19. Rails RSpec zufällige db
- 20. Rails Tutorial - seltsame RSpec Verhalten
- 21. Laden App-Pfade des Rails-Projekts in Rspec
- 22. Rake-Statistik und Gurke
- 23. Wie machst du es so, dass du dich mit der Telefonnummer für die App anmelden kannst?
- 24. Testing Fehlerseiten in Rails mit Rspec + Capybara
- 25. Rspec 3 Upgrade Probleme mit view.stub (Rails)
- 26. Wie änderst du die Rails-Version auf einem Mac?
- 27. RSpec 3.4/Rails 4.2: Wie man eine Ansicht mit button_to
- 28. Wie löschst du Wildcard-Cookies in Rails?
- 29. Rails Fixtures laden nicht mit rspec
- 30. Gurke: Rails dynamic find funktioniert nicht in paths.rb