Ich möchte mit FactoryGirl und RSpec eine Testsuite für meine Spree-App erstellen. Sollte ich Tests von Grund auf schreiben oder kann ich irgendwie eine vorhandene Ressource nutzen, damit ich keinen Code dupliziere?Eine Testsuite für eine Spree-App schreiben
Es gibt viele _spec.rb-Dateien in spree/core/spec/models/spree. Es wäre großartig, wenn rspec spec
ausgeführt werden könnte und die Kernspree-Testsuite sowie alle Tests, die ich schreibe, ausführen.
Die Spree documentation empfiehlt, bundle exec rake test_app
auszuführen, um "die entsprechende Testanwendung innerhalb Ihres Spezifikationsverzeichnisses zu erstellen". Wenn ich diesen Befehl ausführen, wird diese Fehlermeldung I:
rake aborted! Don't know how to build task 'ecommerce' (see --tasks)
Spree montiert in config/routes.db diese Zeile: mount Spree::Core::Engine, at: '/'
.
Ich würde gerne die "entsprechenden Dateien" haben, so dass ich nicht viele Tests schreiben muss, die bereits geschrieben wurden, aber ich bin ratlos. Danke für irgendwelche Tipps.
Danke @zetetic !! Das macht Sinn. Ich will Spree nicht selbst testen. Hier ist der Grund, warum ich eine Testsuite schreiben wollte: Wenn ich Code wie zusätzliche Methoden oder Modelle schreibe, möchte ich sicherstellen, dass alle Kernfunktionen von Spree immer noch funktionieren. Ich bin neu im Testen, daher würde ich es sehr zu schätzen wissen, wenn Sie bestätigen könnten, dass dies ein vernünftiges Anliegen ist, oder, alternativ, erklären Sie es weg. –
Sie sollten davon ausgehen, dass die Bibliotheken/Erweiterungen/Plugins/etc. das du verwendest bist bereits getestet. Im Fall von Spree haben sie tatsächlich die extra Meile gegangen und gezeigt, wie man die Tests durchführt, was ein gutes Zeichen ist. Schreiben Sie Tests, die den Code ausführen, den Sie * schreiben *. Verwenden Sie möglichst Code, der in kleinen Einheiten mit wenigen Abhängigkeiten getestet werden kann. Schreiben Sie außerdem separate High-Level-Feature-Tests, die den gesamten Stack steuern. Es ist klug, über Probleme in externen Bibliotheken besorgt zu sein, aber es ist sinnlos, zu versuchen, diese Probleme durch Tests zu finden. Wo würdest du anfangen? Wo würdest du aufhören? – zetetic
Bekam es @zetetic. Damit werde ich zuversichtlich voran gehen, mich nicht zu sehr auf das Testen für den Moment konzentrieren und diese Fragen und Antworten noch einmal durchgehen, sobald ich mich mit Spree wohler fühle. Sehr geschätzt! –