Zasada TDD FIRST

Nie rozumiem, jakZasada TDD FIRST nie jest przestrzegany w następującym kodzie.

Oto moje notatki na temat zasady FIRST:

Szybki: szybko uruchom testy (podzbiór) (ponieważ będziesz je uruchamiał przez cały czas)Niezależny: żadne testy nie zależą od innych, więc można uruchomić dowolny podzbiór w dowolnej kolejnościPowtarzalne: uruchom N razy, uzyskaj ten sam wynik (aby pomóc w wyizolowaniu błędów i włączeniu automatyzacji)Samokontrola: test może automatycznie wykryć, czy minął (brak sprawdzania wyników przez człowieka)Aktualny: napisane mniej więcej w tym samym czasie, co testowany kod (z TDD, napisany pierwszy!)

Pytanie quizowe:

Sally chce, aby jej strona internetowa miała specjalny układ w pierwszy wtorek każdego miesiąca. Ma następujący kontroler i kod testowy:

# 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

Jakiej zasady FIRST nie przestrzega się?

SzybkiNiezależnyPowtarzalneSamokontrolaAktualny

Nie jestem pewien, która zasada FIRST nie jest przestrzegana:

Szybki: Kod wydaje się być szybki, ponieważ nie ma nic skomplikowanego w jego testach.Niezależny: Test nie zależy od innych testów.Powtarzalne: Test uzyska taki sam wynik za każdym razem.'special_index' jeśli jest wtorek i'index' jeśli nie jest wtorek.Samokontrola: Test może automatycznie wykryć, czy minął.Aktualny: Zarówno kod, jak i kod testowy są prezentowane w tym samym czasie.

wybieramAktualny na quizie, ponieważ kod testu został przedstawiony po kodzie kontrolera. Ale pytanie było błędne i patrząc wstecz, nie był to dobry wybór. Nie jestem pewien, która zasada FIRST nie jest przestrzegana tutaj.

questionAnswers(3)

yourAnswerToTheQuestion