TDD ERSTE Prinzip

Ich bin nicht zu verstehen, wie die TDD ERSTE Prinzip nicht beachtet wird in dem folgenden code.

Dies sind meine Notizen über das ERSTE Prinzip:

  • Schnell: laufen (einige) tests schnell (seit Sie laufen die ganze Zeit)
  • Unabhängige: keine tests von anderen abhängen, so können beliebige Teilmenge in beliebiger Reihenfolge
  • Wiederholbare: run N Zeiten, gleiche Ergebnis (zum isolieren von Fehlern und ermöglichen die Automatisierung)
  • Selbstkontrolle: test kann automatisch erkennen, wenn bestanden (keine menschliche Kontrolle des Ausgangs)
  • Rechtzeitige: geschrieben etwa zur gleichen Zeit wie code under test (mit TDD, zuerst geschrieben!)

Die quiz-Frage:

Sally will Ihre website, um ein spezielles layout auf den ersten Dienstag jeden Monats. Sie hat die folgenden controller und test-code:

# HomeController
 def index
   if Time.now.tuesday?
     render 'special_index'
   else
     render 'index'
   end
 end

 # HomeControllerSpec
 it "should render special template on Tuesdays" do
   get 'index'
   if Time.now.tuesday?
     response.should render_template('special_index')
   else
     response.should render_template('index')
   end
 end

Was den ERSTEN Grundsatz nicht befolgt wird?

  1. Schnell
  2. Unabhängige
  3. Wiederholbare
  4. Selbstkontrolle
  5. Rechtzeitige

Ich bin mir nicht sicher, das ERSTE Prinzip wird nicht eingehalten:

  • Schnell: Der code scheint zu sein, schnell, da ist nichts Komplex über seine tests.
  • Unabhängige: Der test hängt nicht von anderen Prüfungen.
  • Wiederholbare: Der test das gleiche Ergebnis erhalten, jedes mal. 'special_index' wenn es ist Dienstag und 'index' wenn es nicht Dienstag.
  • Selbstkontrolle: Der test kann automatisch erkennen, wenn es übergeben wird.
  • Rechtzeitige: Sowohl der code und test-code sind hier auf der gleichen Zeit.

Wählte ich Rechtzeitige auf das quiz, denn der test-code vorgestellt wurde, nachdem der controller-code. Aber ich hab die Frage falsch, und im Nachhinein war dies keine gute Wahl. Ich bin mir nicht sicher, das ERSTE Prinzip wird nicht gefolgt hier.

InformationsquelleAutor user86408 | 2013-08-02
Schreibe einen Kommentar