2012-11-10 8 views
5

Ich habe vor kurzem gelernt, Rspec + Capybara (Ich bin neu, Dinge zu testen). Und ich habe einige neue Modelle getestet, die ich erstellt habe. Jetzt dachte ich darüber nach, die title Spalte zu meinem Post Modell hinzuzufügen. Es ist keine schwere Aufgabe, und ich habe es schon oft getan. Aber mir wurde klar, dass ich einige Arbeiten brauche, um die Spezifikationsdateien zu aktualisieren (z. B. Post, Post-Seiten, Benutzer, Benutzerseiten, Fabriken, Beispieldaten usw.).Ist es eine gute Praxis, absolut alles zu testen oder es ist Zeitverschwendung (Rails)?

Ist die Prüfung in diesem Fall eine Verschwendung von Zeit? Oder ist es eine gute Übung, absolut alles zu testen?

Ich frage mich auch, ob das Testen von Edelsteinen auch eine Verschwendung von Zeit ist? Da sie wahrscheinlich schon von ihren Erstellern getestet wurden (das gleiche zum Testen von etwas, das aus einem zuverlässigen Tutorial stammt).

Antwort

4

Während die Ruby-Community durch ihren Fokus auf Tests bekannt ist, sollte jeder Fall im Kontext analysiert werden, um herauszufinden, welche die kosteneffektivsten Entscheidungen sind.

Es ist nützlich, sich Tests als eine Technik zur Risikoverwaltung vorzustellen. Wenn Sie nicht glauben, dass das Anzeigen von Titeln/Hinzufügen zur Datenbank eine Aufgabe ist, die fehleranfällig ist, komplex ist oder dass die Kosten für das Hinzufügen dieser Tests höher sind als das Risiko, dass sie irgendwann etwas kaputt machen könnten weise, es nicht zu tun.

Das gesagt, da Sie gesagt haben, dass Sie zum Testen neu sind, würde ich empfehlen (wenn Sie nicht zeitlich beschränkt sind), zu versuchen, die Idee zum Extrem zu nehmen, absolut alles zu testen, damit Sie können habe eine Vorstellung davon, wie viel davon einen Mehrwert bringt und wie viel Zeitverschwendung ist.

Sie können einen Blick auf dieser Blog-Post von DHH, der Schöpfer von Rails nehmen wollen, wo er darüber spricht: Testing like the TSA

über Testen Edelsteine, ist es im Allgemeinen gut akzeptiert, dass sie nicht sein sollte getestet von Ihren Anwendungstests, aber von ihren Erstellern. Die meiste Zeit können Sie einfach davon ausgehen, dass sie so arbeiten, wie sie es versprechen.

+0

Danke für die Antwort. Ich habe mich immer darüber gewundert. Warum konzentriert sich die Ruby-Community auf das Testen (oder die Rails-Community)? – alexchenco

+0

@alexchenco Ich habe keine konkrete Antwort dafür, aber ich denke, dass es teilweise daran liegt, dass die Sprache bereits mit einem eingebauten Test-Framework ("test/unit") ausgestattet ist und dass ein Großteil der Community dies hat Seine Wurzeln liegen in der agilen/XP-Bewegung. –

+0

Ich verstehe. Ja, ich habe noch nie davon gehört, dass die Python-Community über Tests spricht. – alexchenco

1

eines der wichtigsten Konzepte des Testens ist: "Es ist unmöglich, alles zu testen"

Verwandte Themen