Principio de TDD FIRST

No estoy entendiendo comoPrincipio de TDD FIRST No se está cumpliendo en el siguiente código.

Estas son mis notas sobre el PRIMER principio:

Rápido: ejecute (subconjunto de) las pruebas rápidamente (ya que las ejecutará todo el tiempo)Independiente: ninguna prueba depende de otras, por lo que puede ejecutar cualquier subconjunto en cualquier ordenRepetible: ejecute N veces, obtenga el mismo resultado (para ayudar a aislar errores y habilitar la automatización)Auto chequeo: la prueba puede detectar automáticamente si se pasa (no hay comprobación humana de la salida)Oportuno: escrito casi al mismo tiempo que el código bajo prueba (con TDD, ¡escrito primero!)

La pregunta de prueba:

Sally quiere que su sitio web tenga un diseño especial el primer martes de cada mes. Ella tiene el siguiente controlador y código de prueba:

# 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

¿Qué PRIMER principio no se está siguiendo?

RápidoIndependienteRepetibleAuto chequeoOportuno

No estoy seguro de qué principio FIRST no se está cumpliendo:

Rápido: El código parece ser rápido porque no hay nada complejo en sus pruebas.Independiente: La prueba no depende de otras pruebas.Repetible: La prueba obtendrá el mismo resultado cada vez.'special_index' si es martes y'index' si no es martesAuto chequeo: La prueba puede detectar automáticamente si se pasa.Oportuno: El código de prueba y el código de prueba se presentan aquí al mismo tiempo.

elegíOportuno en el cuestionario porque el código de prueba se presentó después del código del controlador. Pero entendí mal la pregunta y, en retrospectiva, no fue una buena elección. No estoy seguro de qué principio FIRST no se está siguiendo aquí.

Respuestas a la pregunta(3)

Su respuesta a la pregunta