2013-05-28 3 views
21

Ich entschied mich, MiniTest auszuprobieren und bemerkte ziemlich schnell, dass es etwas namens "specs" unterstützte. Ich hatte diese referenced before gesehen, dachte aber, es sei nur eine alternative Testsyntax mit Fabriken, aber wenn das der Fall wäre, warum sollte MiniTest beide unterstützen?Was ist der Unterschied zwischen Tests und Spezifikationen?

Wir haben nur Tests durchgeführt, als ich Ruby on Rails gelernt habe, also weiß ich nichts über Spezifikationen. Wenn ich Google-Spezifikationen finde, finde ich eine Menge Sachen darüber, wie man gute schreibt, aber nichts, was sie erklären, sind. Was ist der Unterschied zwischen Tests und Spezifikationen?

Antwort

10

Google für Tests vs. Spezifikationen. Einige gut liest Pop-up:

Meine Meinung ist, dass Angaben mehr ‚natürlich‘ lesen und fühlen sich wie echte Spezifikationen der Funktionalität des Codes im Vergleich zu Mini -test et.al.

Rspec ist ein gutes Beispiel für eine DSL, speziell geschrieben, um Tests zu schreiben, die beim Lesen Sinn machen, auch für technisch weniger versierte Menschen.

Aber am Ende, verwenden Sie, was auch immer Sie sich wohler fühlen. Ein Test geschrieben besser ist fast immer dann kein Test geschrieben, weil Sie den Test-Framework unwohl fühlen mit

bearbeiten

Ihre Frage Nach rereading, scheinen Sie speziell über Mini-Testspezifikt zu fragen. Es ist eine Ergänzung zu Minitests, die dem Minitest eine rspec-ähnliche Syntax hinzufügen. Alles oben genannte gilt immer noch.

21

Eine Spezifikation, kurz für die Spezifikation, stammt aus verhaltensorientierten Tests und fördert die Denkweise, wo Sie definieren, was die Software tut.

Der Aufruf eines Tests führt zu einer allgemeineren Denkweise über den Code und bestätigt nicht die Idee, dass Sie die Schnittstelle (anstelle der Implementierung) testen sollten.

Das heißt, unabhängig davon, wie Sie sie schreiben, oder wie Sie sie nennen, ist der Punkt, eine automatisierte Möglichkeit zur Überprüfung der Richtigkeit Ihres Codes zu haben, so dass Sie mit Vertrauen fortfahren können.

+4

+1 für "eine Spezifikation, kurz für die Spezifikation", Kontraktionen immer mich raten – Jackson

Verwandte Themen