Принцип TDD FIRST

Я не понимаю, какПринцип TDD FIRST не соблюдается в следующем коде.

Вот мои заметки о первом принципе:

Быстрый: быстро запустить (подмножество) тестов (так как вы будете запускать их постоянно)независимый: никакие тесты не зависят от других, поэтому могут запускать любое подмножество в любом порядкеПовторяется: запустить N раз, получить тот же результат (чтобы помочь выявить ошибки и включить автоматизацию)Самоконтроль: тест может автоматически определить, пройден ли он (нет проверки человеком результатов)своевременно: написано примерно в то же время, что и тестируемый код (с TDD, написанным первым!)

Вопрос викторины:

Салли хочет, чтобы ее сайт имел особый макет в первый вторник каждого месяца. У нее есть следующий контроллер и тестовый код:

# 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

Какой первый принцип не соблюдается?

БыстрыйнезависимыйПовторяетсяСамоконтрольсвоевременно

Я не уверен, какой ПЕРВЫЙ принцип не соблюдается:

БыстрыйКод кажется быстрым, потому что в его тестах нет ничего сложного.независимый: Тест не зависит от других тестов.Повторяется: Тест будет получать один и тот же результат каждый раз.'special_index' если это вторник и'index' если это не вторник.Самоконтроль: Тест может автоматически определить, пройден ли он.своевременно: И код, и тестовый код представлены здесь одновременно.

я выбралсвоевременно на викторине, потому что тестовый код был представлен после кода контроллера. Но я неправильно понял вопрос, и, оглядываясь назад, это был не лучший выбор. Я не уверен, какой первый принцип здесь не соблюдается.

Ответы на вопрос(3)

Ваш ответ на вопрос